/* Josh's Custom CSS Reset. https://www.joshwcomeau.com/css/custom-css-reset/ */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}
html,body{height:100%;}body{-webkit-font-smoothing:antialiased;}
img,picture,video,canvas,svg{display:block;max-width:100%;}
input,button,textarea,select{font:inherit;}
p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;}
#root,#__next{isolation:isolate;}
/* Averaging Style */
ul li{list-style:none;}iframe {border: none;}a,a:hover{text-decoration:none;}
button{cursor: pointer;border:none;background:transparent;}
.ta_c{text-align: center;}
/* WP reset */
.wp_single_header,.g_small_container {margin:0;padding: 0.8rem;}

@media print, only screen and (min-width: 768px) {
.wp_single_header,.g_small_container,.wp_content {box-sizing: border-box;max-width: 123.2rem;min-width: 123.2rem;margin: 0 auto;padding: 0;}
}
.wp_content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.default-max-width):not(.g_large_max_width):not(.g_small_max_width):not(.small-max-width), *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {max-width: 100%;}

@media print, only screen and (min-width: 768px) {
.wp_content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.default-max-width):not(.g_large_max_width):not(.g_small_max_width):not(.small-max-width), *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {max-width: 123.2rem;min-width: 123.2rem;}
}
.wp_content ul li{padding: 0;}
.wp_content ul li:after{width: 0;}
.wp_content ul li:not(:first-child){margin-top: 0;}


.wp_content{
overflow-x: hidden;
}
.brochure{
margin: 0;
}
.brochure figcaption{
margin-top: 0.4rem;
font-size: 1.2rem;
text-align: center;
}
.map{
margin: 6.0rem 0 2.4rem;
}
.wp-block-list li{
width: 100%;
margin: 0.8rem 0;
font-size: 1.4rem;
}
.wp-block-list li strong{
font-size: 1.6rem;
}
.overview-list{
margin-top: 0.8rem;
}
.overview-list li{
list-style: disc;
list-style-position: inside;
width: 100%;
margin: 0.4rem 0;
}
h2{
font-weight: 600!important;
}
.overview h2{
margin-bottom: 0.8rem;
font-size: 2.7rem;
}
h3{
margin: 0.4rem 0!important;
font-size: 2.2rem;
font-weight: 600!important;
}
.overview p{
margin: 0.4rem 0!important;
}
section.caution{
padding: 0 1.6rem;
}
div.caution{
padding: 0 2.4rem;
}
.caution p{
font-size: 1.2rem;
}
.overview a,.training_session a{
text-decoration: underline;
margin: 0 0.3rem;
font-size: 1.4rem;
color: #999;
}
.overview a:hover,
.training_session a:hover{
text-decoration: none;
}
@media (max-width : 769px){
.wp_content h2{
font-size: 2.4rem;
}
.lead{
padding: 0 0.8rem;
}
.overview a,.training_session a{
font-size: 1.2rem;
}
}

.map h3{
position: relative;
padding-left: 4.4rem;
}
.map h3::before{
content: "";
position: absolute;
top: 0.7rem;
left: 0;
width: 3.2rem;
height: 1.8rem;
}
.map details{
margin: 0 2.4rem 1.2rem;
}
.map details:nth-of-type(1) h3::before{background-color: #f5cdff;}
.map details:nth-of-type(2) h3::before{background-color: #cdebcd;}
.map details:nth-of-type(3) h3::before{background-color: #cdcdff;}
.map details:nth-of-type(4) h3::before{background-color: #ffcdcd;}
.map details:nth-of-type(5) h3::before{background-color: #ffffb3;}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}
summary h3 {
  display: inline-block;
  margin: 0;
vertical-align: middle;
}
summary h3::after {
content: '\f0da';
font-family: 'Font Awesome 7 Free';
  font-size: 1.0em;
font-weight: 600;
  margin-left: 0.5em;
}
details[open] summary h3::after {
  content: "\f0d7";
font-family: 'Font Awesome 7 Free';
}

.map details p{
margin-top: 0;
}

@media (max-width : 769px){
.map{
margin-bottom: 3.2rem;
}
section.caution,div.caution{
padding: 0 0.8rem;
}
.caution h3{
font-size: 1.6rem;
}
.pc_img{
display: none;
}
.caution p{
font-size: 1.0rem;
}
div.caution h3{
margin-top: 0!important;
}
.map details{
padding: 0;
}
}

.training_session{
margin-top: 4.8rem;
}
.training_session .column_02 li p{
margin: 0 0 1.6rem;
line-height: 1.8;
}
ul.schedule_time{
display: flex;
flex-wrap: wrap;
margin: 0;
}

.instructor {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.instructor figure{
width: 50%;
margin: 0;
}
.instructor img{
width: 80%;
margin-left: 10%;
}
@media (max-width : 769px){
.schedule_time li{
width: 50%;
}
}
.column_02,.column_03{
margin-bottom: 0!important;
}
.product{
margin: 6.0rem 0 3.2rem;
padding: 0 0.8rem;
}
.product .column_02 li{
width: calc(100% / 2 - 1.6rem * 2);
margin:0 0.8rem 3.2rem;
}
.product .column_02 li p{
margin-top: 0.4rem;
}
.product .column_02 li a.expand{
display: block;
width: 100%;
font-size: 2.0rem;
text-align: right;
}
.product h3{
width: 100%;
margin: 0;
}
@media (max-width : 769px){
.product {
margin-top: 4.2rem;
padding: 0 0.8rem;
}
.product .column_02 li{
  margin: 0 auto 1.6rem;
width:calc(100% / 1 - 0.8rem * 2);
}
}
.related_links{
padding: 0 1.6rem;
}

.related_links h2,
.related_links h3.first{
margin: 1.2rem 0 0!important;
}
.related_links h3{
font-size: 1.6rem;
margin: 1.8rem 0 0!important;
}
.related_links ul{
margin: 0!important;
}
.related_links li{
font-size: 1.2rem;
}
.related_links a{
text-decoration: underline;
}
.release{
margin: -0.6rem 0 1.2rem!important;
font-size: 1.2rem;
}
@media (max-width : 769px){
.related_links{
padding: 0 0.8rem;
}
.related_links li{
font-size: 1.0rem;
}
}