@charset "utf-8";

/*========================

2nd_template.css

========================*/

#container {
align-items:unset;
display:flex;
flex-wrap:wrap;
justify-content:unset;
/*overflow:hidden;*/
}

#main {
align-content:start;
/*background-color:var(--white);*/
display:flex;
flex-direction:column;
width:calc(100% - 290px);
padding-left:30px;
position:relative;
row-gap:30px;
}

#main #main_cont {
align-items:start;
/*background-color:var(--white);*/
/*box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.2);*/
border-radius:20px;
display:flex;
flex-direction:column;
flex-grow:1;
row-gap:30px;
/*padding:0 0 30px;*/
padding:0;
position:relative;
min-height:200px;
max-width:1480px;
width:calc(100% - 30px);
position:sticky;
position:-webkit-sticky;
top:100px;
z-index:2;
}

/*---------------------------------------------
header
---------------------------------------------*/
header,
#header {
z-index:4;
}

header.scroll_fixed {
padding:0 0 0 20px;
justify-content:start;
width:auto;
}

header.scroll_fixed #header {
padding:0;
width:auto;
}

header.scroll_fixed #header #header_cont {
flex: 0 1 auto;
justify-content:start;
}

header.scroll_fixed #header  #header_cont #header_left h1 img {
aspect-ratio:38 / 13;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
max-height: 50px;
width:auto;
}

header.scroll_fixed #header  #header_cont #header_left h1 img.lazyloaded {
opacity:1;
}

header.scroll_fixed #header  #header_cont #header_left #h_nav {
display:none;
}

header.scroll_fixed #header  #header_cont #header_right .entry {
display:none;
} 

/*---------------------------------------------
main_visual
---------------------------------------------*/
#main_visual {
align-items:center;
display:flex;
justify-content:start;
height:500px;
/*padding-left:30px;*/
position:relative;
/*overflow:hidden;*/
z-index:1;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
width:100%;
}

#main_visual.lazyloaded {
opacity:1;
}

#main_visual > img {
border-radius:0 0 0 100px;
height:500px;
object-fit:cover;
object-position:center top;
position:absolute;
width:100%;
}

#main_visual h2.page_title {
position:relative;
margin-bottom:-40px;
padding:30px 30px 30px 50px;
display:flex;
align-items:center;
justify-content:start;
}

#main_visual h2.page_title span {
color:var(--white);
display:inline-block;
font-weight:600;
font-size:calc(2.0rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.6;
padding-left:0;
position:relative;
opacity:2;
}

#main_visual h2.page_title:before {
background-color:var(--black_op70);
border-radius:0 50px 50px 0;
content:" ";
left:0;
height:100%;
position:absolute;
width:calc(100% + 20px);
opacity:1;
}

/*---------------------------------------------
head_info
---------------------------------------------*/
#head_info {
right:0;
bottom:0;
position:absolute;
height:100%;
width:100%;
max-width:25vw;
z-index:5;
}

#head_info:after {
/*background-image:url(../img/common/bg_dot.png);*/
bottom:5%;
border-radius:10px;
content:" ";
height:90%;
left:0;
position:absolute;
width:100%;
z-index:1;
}

#head_info #head_info_cont {
align-items:flex-end;
display:flex;
justify-content:flex-end;
flex-direction:column;
height:100%;
padding:0;
position:relative;
width:100%;
}

#head_info #head_info_cont #head_info_left {
/*background-color:var(--white);*/
display:flex;
align-items:flex-end;
justify-content:flex-end;
/*flex:0 1 35%;*/
flex:1 1 auto;
height:auto;
/*max-height:140px;*/
height:100%;
padding:0;
position:relative;
/*width:35%;*/
/*width:auto;*/
width:100%;
z-index:2;
}

/*--- motor ---*/

#main.motor #head_info #head_info_cont #head_info_left .mark {
align-items:center;
background-color:var(--yellow);
border-radius:50px;
bottom:12vw;
display:flex;
height:100px;
justify-content:center;
/*left:calc(5vw + 30px);*/
right:110px;
position:absolute;
top:auto;
transform:rotate(-20deg);
width:100px;
z-index:2;
}

#main.motor #head_info #head_info_left .mark span {
font-size:calc(0.5rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
letter-spacing:-0.01em;
line-height:1.4;
text-align:center;
position:relative;
}

#main.motor #head_info #head_info_left .mark:after {
content:" ";
width:20px;
height:16px;
clip-path:polygon(50% 16px, 0% 0%, 20px 0%);
background:var(--yellow);
left:50%;
bottom:-10px;
margin-left:-10px;
position:absolute;
}

#main.motor #head_info #head_info_left figure {
position:absolute;
bottom:0;
right:20px;
width:100%;
height:auto;
padding:0;
aspect-ratio:6 / 5;
z-index:5;
width:25vw;
max-width:220px;
}

#main.motor  #head_info #head_info_left figure img {
aspect-ratio:6 / 5;
width:100%;
height:auto;
/*max-width:240px;*/
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
position:relative;
z-index:3;
}

#main.motor #head_info #head_info_left figure img.lazyloaded {
opacity:1;
}


#head_info #head_info_right {
background-color:var(--white);
display:flex;
flex:1;
flex-direction:column;
padding:0;
position:relative;
row-gap:15px;
z-index:2;
}

#head_info #head_info_right h3 {
color:var(--blue);
font-weight:600;
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.3;
}

#head_info #head_info_right p {
font-weight:600;
font-size:calc(0.7rem + ((1vw - 0.48rem) * 0.6944));
}

#head_info #head_info_right p.note {
font-weight:400;
font-size:calc(0.5rem + ((1vw - 0.48rem) * 0.6944));
}


/*---------------------------------------------
main_head
---------------------------------------------*/
#main_head {
align-items:center;
background-color:var(--white);
border-radius:10px;
display:flex;
flex-shrink:0;
position:relative;
width:100%;
}

#main_head:after {
background-image:url(../img/common/bg_dot.png);
bottom:5%;
border-radius:10px;
content:" ";
height:90%;
left:0;
position:absolute;
width:100%;
z-index:1;
}

#main_head #main_head_left {
display:flex;
align-items:center;
justify-content:center;
flex:0 1 35%;
height:auto;
max-height:240px;
height:100%;
padding:0 30px 5px 30px;
position:relative;
width:35%;
z-index:2;
}

#main_head #main_head_left .mark {
align-items:center;
background-color:var(--yellow);
border-radius:50px;
display:flex;
height:100px;
justify-content:center;
left:calc(15% + 3vw);
position:absolute;
top:-20%;
transform:rotate(-20deg);
width:100px;
z-index:2;
}

#main_head #main_head_left .mark span {
font-size:1.3rem;
font-weight:600;
letter-spacing:-0.01em;
line-height:1.4;
text-align:center;
position:relative;
}

#main_head #main_head_left .mark:after {
content:" ";
width:20px;
height:16px;
clip-path:polygon(50% 16px, 0% 0%, 20px 0%);
background:var(--yellow);
left:50%;
bottom:-10px;
margin-left:-10px;
position:absolute;
}

#main_head #main_head_left figure {
position:absolute;
margin:auto;
top:5px;
right:0;
bottom:0;
left:10px;
width:100%;
height:auto;
aspect-ratio:6 / 5;
}

#main_head #main_head_left figure img {
aspect-ratio:6 / 5;
width:100%;
height:auto;
max-width:320px;
position:relative;
z-index:3;
}

#main_head #main_head_right {
display:flex;
flex:1;
flex-direction:column;
padding:50px 20px 50px 30px;
position:relative;
row-gap:15px;
z-index:2;
}

#main_head #main_head_right h3 {
color:var(--blue);
font-weight:600;
font-size:calc(2.0rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.3;
}

#main_head #main_head_right p {
font-weight:600;
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
}

#main_head #main_head_right p.note {
font-weight:400;
font-size:calc(0.8rem + ((1vw - 0.48rem) * 0.6944));
}

/*---------------------------------------------
2nd_page_menu
---------------------------------------------*/
#left_nav {
height:100vh;
padding-top:0;
position:relative;
}

#left_nav #left_nav_menu {
top:auto;
overflow-y:auto;
height:100%;
-webkit-overflow-scrolling:touch;
padding:110px 0 150px;
}

#left_nav #left_nav_menu #left_nav_menu_cont {
background-color:transparent;
box-shadow:none;
display:flex;
flex-direction:column;
margin-top:15px;
padding:0;
row-gap:15px;
}

#left_nav #left_nav_menu #left_nav_menu_cont > ul {
display:flex;
flex-direction:column;
row-gap:10px;
}

#left_nav #left_nav_menu #left_nav_menu_cont > ul > li {

}

#left_nav #left_nav_menu .openList {
background-color:var(--white);
border-radius:0 10px 10px 0;
padding:3px 3px 3px 0;
}

#left_nav #left_nav_menu .openList dl {
border-radius:0 10px 10px 0;
}

#left_nav #left_nav_menu .openList dl dt {
align-items:start;
background:var(--grad_blue);
border-radius:0 6px 6px 0;
color:var(--black);
display:flex;
flex-wrap:wrap;
font-size:1.2rem;
justify-content:center;
padding:20px;
row-gap:10px;
position:relative;
/*max-height:auto;*/
/*transition:padding-top .5s ease-out, padding-bottom .5s ease-out;*//*close_animation*/
}

#left_nav #left_nav_menu .openList dl dt:before {
background-color:var(--white);
border-radius:12px;
content:" ";
right:16px;
top:16px;
position:absolute;
height:24px;
width:24px;
z-index:2;
}

#left_nav #left_nav_menu .openList dl dt:after {
content:"\f078";
color:var(--blue);
font-family:var(--icon);
font-size:1.0rem;
font-weight:600;
right:23px;
top:23px;
opacity:1;
position:absolute;
z-index:3;
}

#left_nav #left_nav_menu .openList dl dt span {
color:var(--white);
line-height:1;
display:block;
text-align:left;
width:100%;
z-index:2;
}

#left_nav #left_nav_menu .openList dl dt span:first-child {
font-size:2.0rem;
font-weight:600;
}

#left_nav #left_nav_menu .openList dl dt span:nth-child(2) {
display:none;
}

#left_nav #left_nav_menu .openList.active dl dt span:nth-child(2) {
display:block;
}

#left_nav #left_nav_menu .openList dl dt:hover {
cursor:pointer;
opacity:0.7;
}

#left_nav #left_nav_menu .openList dl dt img {
-webkit-transition:max-height 0.3s, opacity 3s;
transition:max-height 0.3s, opacity 3s;
overflow:hidden;
opacity:0;
display:none;
max-height:100px;
}

#left_nav #left_nav_menu .openList dl dd {
display:none;
margin:0 -3px 0 -10px;
padding:10px 0 0 10px;
max-height:0;
-webkit-transition:max-height 0.3s, opacity 3s;
transition:max-height 0.3s, opacity 3s;
overflow:hidden;
opacity:0;
}

#left_nav #left_nav_menu .openList dl dd ul {
display:flex;
flex-direction:column;
}

#left_nav #left_nav_menu .openList dl dd ul li {

}

#left_nav #left_nav_menu .openList dl dd ul li a {
color:var(--black);
display:flex;
font-size:1.3rem;
font-weight:500;
line-height:1.4;
padding:8px 10px 8px 25px;
position:relative;
width:100%;
}

#left_nav #left_nav_menu .openList dl dd ul li a:before {
content:"\f054";
color:var(--blue);
font-family:var(--icon);
font-size:1.0rem;
font-weight:600;
left:10px;
top:50%;
margin-top:-8px;
opacity:1;
position:absolute;
}

#left_nav #left_nav_menu .openList dl dd ul li a:hover {
color:var(--blue);
background-color:var(--light_yellow);
}

#left_nav #left_nav_menu .openList dl dd ul li.active a {
/*background-color:var(--blue02);*/
background-color:var(--light_yellow);
}

/*--- active menu ---*/
#left_nav #left_nav_menu .openList.active {
box-shadow:0px 2px 4px 0px rgba(0, 0, 0, 0.2);
padding:3px 3px 10px 0;
}

#left_nav #left_nav_menu .openList.active dl {

}

#left_nav #left_nav_menu .openList.active dl dt {
background-color:var(--white);
border-radius:0 12px 12px 0;
padding:10px;
opacity:1;
border-radius:0 6px 0 0;
padding:15px 20px 10px;
row-gap:5px;
transition:padding-top .3s ease-out;
}

#left_nav #left_nav_menu .openList.active dl dt img {
opacity:1;
display:block;
}

#left_nav #left_nav_menu .openList.active dl dt:after {
content:"\f077";
right:23px;
top:23px;
}

#left_nav #left_nav_menu .openList.active dl dd {
display:block;
max-height:100%;
opacity:1;
}

/*--- license menu ---*/
#left_nav #left_nav_menu .openList dl.license dt {
align-items:flex-end;
flex-direction:unset;
flex-wrap:wrap;
}

#left_nav #left_nav_menu .openList dl.license dt img {
width:50%;
height:auto;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
}

#left_nav #left_nav_menu .openList dl.license dt img.lazyloaded {
opacity:1;
}

#left_nav #left_nav_menu .openList dl.license dt img:nth-child(3) {
padding-bottom:4px;
}

/*--- facility menu ---*/
#left_nav #left_nav_menu .openList.active dl.facility dt {
min-height:160px;
flex-direction:column;
justify-content:start;
}

#left_nav #left_nav_menu .openList.active dl.facility dt img {
right:0;
position:absolute;
max-height:138px;
bottom:0;
height:138px;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
width:auto;
z-index:1;
}

#left_nav #left_nav_menu .openList.active dl.facility dt img.lazyloaded {
opacity:1;
}

/*--- student menu ---*/
#left_nav #left_nav_menu .openList.active dl.student dt {
min-height:160px;
flex-direction:column;
justify-content:start;
}

#left_nav #left_nav_menu .openList dl.student dt img,
#left_nav #left_nav_menu .openList.active dl.student dt img {
right:0;
position:absolute;
max-height:138px;
bottom:0;
height:138px;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
width:auto;
z-index:1;
}

#left_nav #left_nav_menu .openList dl.student dt img.lazyloaded,
#left_nav #left_nav_menu .openList.active dl.student dt img.lazyloaded {
opacity:1;
}

#left_nav #left_nav_menu .openList.active dl.student dd div a {
display:flex;
font-size:1.3rem;
font-weight:600;
line-height:1.4;
padding:8px 10px 8px 15px;
}

#left_nav #left_nav_menu .openList.active dl.student dd div.active a {
background-color:var(--light_yellow);
}

/*--- course menu ---*/
#left_nav #left_nav_menu .openList.active dl.course dt {
min-height:160px;
flex-direction:column;
justify-content:start;
}

#left_nav #left_nav_menu .openList.active dl.course dt img {
right:0;
position:absolute;
max-height:138px;
bottom:0;
height:138px;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
width:auto;
z-index:1;
}

#left_nav #left_nav_menu .openList.active dl.course dt img.lazyloaded {
opacity:1;
}

#left_nav #left_nav_menu #left_nav_conversion {
border-radius:0 12px 12px 0;
}

/*--- conversion_area ---*/
#conversion_area #conversion_cont #conversion_footer {
padding:0 50px 0 50px;
}


#conversion_area #conversion_cont .sns_link_area {
padding:0 50px 0 50px;
}

/*--- footer_banner_area ---*/
#banner_area {
width:calc(100% - 60px);
}

/*---------------------------------------------
front_menu
---------------------------------------------*/
#front_menu {
/*position:fixed;*/
/*top:63px;*/
/*opacity:0;*/
border-radius:20px 20px 0 0;
position:sticky;
position:-webkit-sticky;
top:0;
/*margin:-30px -30px 0 -30px;*/
-webkit-transition:opacity 3s;
transition:opacity 3s;
/*width:calc(100% + 60px);*/
width:100%;
z-index:5;
}

#front_menu dl.menu {
background-color:var(--white);
border-radius:10px;
margin-top:0;
padding:0;
row-gap:0;
}

#front_menu dl.menu dt {
display:none;
}

#front_menu dl.menu dd {

}

#front_menu dl.menu dd ul {
background-image:none;
/*border:1px solid var(--gray_dd);*/
box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.2);
border-radius:10px;
/*column-gap:10px;*/
display:flex;
flex-direction:unset;
justify-content:space-between;
padding:0;
}

#front_menu dl.menu dd ul li {
background-image:none;
border-left:1px solid var(--gray_dd);
display:flex;
flex-grow:1;
font-size:calc(1.1rem + ((1vw - 0.48rem) * 0.6944));
justify-content:center;
padding:0;
width:auto;
width:calc(100% / 5);
}

#front_menu dl.menu dd ul li.pc {
display:none;
}

#front_menu dl.menu dd ul li a {
align-items:center;
background-color:var(--white);
color:var(--black);
display:flex;
font-size:calc(0.8rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
justify-content:center;
line-height:1.2;
text-align:center;
overflow:hidden;
padding:20px 15px 20px 15px;
position:relative;
text-overflow:ellipsis;
white-space:nowrap;
width:100%;
}

#front_menu dl.menu dd ul li a:before {
background-color:var(--blue);
border-radius:9px;
content:" ";
right:18px;
top:50%;
margin-top:-10px;
position:absolute;
height:18px;
width:18px;
}

#front_menu dl.menu dd ul li a:after {
color:var(--white);
content:"\f078";
font-size:calc(0.3rem + ((1vw - 0.48rem) * 0.6944));
font-family:var(--icon);
font-weight:600;
margin-top:-1px;
right:22px;
left:auto;
position:absolute;
}

#front_menu dl.menu dd ul li a:hover {
background-color:var(--light_yellow);
color:var(--blue);
}

#front_menu dl.menu dd ul li a:hover:before {
background-color:var(--blue);
}

#front_menu dl.menu dd ul li a:hover:after {
color:var(--white);
}

#front_menu dl.menu dd ul li:first-child {
border-left:none;
border-radius:10px 0 0 10px;
}

#front_menu dl.menu dd ul li:first-child a {
border-radius:10px 0 0 10px;
/*border-radius:0;*/
}

#front_menu dl.menu dd ul li:last-child {
border-radius:0 10px 10px 0;
/*border-radius:0;*/
}

#front_menu dl.menu dd ul li:last-child a {
border-radius:0 10px 10px 0;
/*border-radius:0;*/
}

#front_menu.fixed {
/*position:fixed;*/
/*top:63px;*/
border-radius:0;
opacity:1;
}

#front_menu.fixed dl.menu dd ul {
border-top:none;
border-right:none;
border-left:none;
}

#front_menu.fixed dl.menu dd ul li a {
/*background-color:var(--blue01);*/
background-color:var(--white);
/*color:var(--white);*/

}

#front_menu.fixed dl.menu dd ul li a:before {
/*background-color:var(--white);*/
background-color:var(--blue);
}

#front_menu.fixed dl.menu dd ul li a:after {
/*color:var(--blue);*/
color:var(--white);
}

#front_menu.fixed dl.menu dd ul li a:hover {
background-color:var(--light_yellow);
color:var(--blue);
}

#front_menu.fixed dl.menu dd ul li a:hover:after {
color:var(--white);
}

#front_menu.fixed dl.menu dd ul li a:hover:before {
background-color:var(--blue);
}

#front_menu.fixed dl.menu,
#front_menu.fixed dl.menu dd ul,
#front_menu.fixed dl.menu dd ul li:first-child a,
#front_menu.fixed dl.menu dd ul li:last-child a {
border-radius:0;
}

.left_scroll_button,
.right_scroll_button {
display:none;
}

.left_scroll_button i,
.right_scroll_button i {
display:none;
}


/*---------------------------------------------
front_menu2
---------------------------------------------*/
#front_menu2 {
border-radius:20px 20px 0 0;
position:sticky;
position:-webkit-sticky;
top:0;
width:100%;
z-index:5;
}

#front_menu2 dl.menu {
background-color:var(--white);
border-radius:10px;
margin-top:0;
padding:0;
row-gap:0;
}

#front_menu2 dl.menu dt {
display:none;
}

#front_menu2 dl.menu dd {
border-radius:10px 0 0 10px;
}

#front_menu2 dl.menu dd ul {
background-image:none;
box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.2);
border-radius:10px 0 0 10px;
/*column-gap:10px;*/
display:flex;
flex-direction:unset;
justify-content:space-between;
padding:0 15px;
overflow-x:scroll;
}

#front_menu2 dl.menu dd ul li {
background-image:none;
/*border-left:1px solid var(--gray_dd);*/
display:flex;
flex-grow:1;
font-size:1.0rem;
justify-content:center;
padding:0;
position:relative;
}

#front_menu2 dl.menu dd ul li a {
align-items:center;
background-color:var(--white);
color:var(--black);
display:flex;
/*font-size:calc(0.9rem + ((1vw - 0.48rem) * 0.6944));*/
font-size:1.4rem;
font-weight:600;
justify-content:center;
line-height:1.2;
text-align:center;
overflow:hidden;
padding:20px 25px 20px 15px;
position:relative;
text-overflow:ellipsis;
white-space:nowrap;
width:100%;
}

#front_menu2 dl.menu dd ul li a span {
line-height:1;
padding:0 20px 0 0;
position:relative;
z-index:2;
}

#front_menu2 dl.menu dd ul li:first-child {
border-radius:10px 0 0 10px;
}

#front_menu2 dl.menu dd ul li:first-child a {
border-radius:10px 0 0 10px;
}

#front_menu2 dl.menu dd ul li:last-child {
border-radius:0 10px 10px 0;
}

#front_menu2 dl.menu dd ul li:last-child a {
border-radius:0 10px 10px 0;
}

#front_menu2 dl.menu dd ul li a:before {
background-color:var(--gray_f2);
content:" ";
position:absolute;
width:calc(100% - 15px);
height:50%;
border-radius:15px;
}

#front_menu2 dl.menu dd ul li a:after {
content:"\f078";
color:var(--blue);
font-family:var(--icon);
font-size:calc(0.4rem + ((1vw - 0.48rem) * 0.6944));
position:absolute;
right:18px;
top:50%;
margin-top:-7px;
}

#front_menu2 dl.menu dd ul li.current a:before {
background-color:var(--yellow);
content:" ";
position:absolute;
width:100%;
height:50%;
border-radius:15px;
}

#front_menu2 dl.menu dd ul li a:hover:before {
background-color:var(--yellow);
}

/*---------------------------------------------
mian_visual
---------------------------------------------*/
#main #main_visual {
height:500px;
}

#main #main_visual .box_wrap {
align-items:center;
display:flex;
justify-content:center;
height:500px;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
overflow:hidden;
position:absolute;
top:0;
width:100%;
z-index:3;
}

#main #main_visual .box_wrap.lazyloaded {
opacity:1;
}

#main #main_visual .box {
background-color:var(--white);
border-radius:20px;
box-shadow:0px 2px 4px 0px rgba(0, 0, 0, 0.2);
display:flex;
flex-direction:column;
position:absolute;
row-gap:15px;
top:auto;
right:auto;
bottom:auto;
left:auto;
margin:0 auto -80px auto;
padding:60px 20px 30px;
/*width:40%;*/
flex:0 1 300px;
/*min-height:300px;*/
max-width:320px;
width:calc(100vw /2 - 50px);
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
}

#main #main_visual  .box.lazyloaded {
opacity:1;
}

#main #main_visual .box h2 {
display:flex;
flex-direction:column;
text-align:center;
}

#main #main_visual .box .title {
aspect-ratio:725 / 273;
align-items:center;
display:flex;
max-height:100px;
justify-content:center;
margin:0 auto;
text-align:center;
padding:0;
width:auto;
}

#main #main_visual .box .title img.lazyloaded {
opacity:1;
}

#main #main_visual .box .txt {
display:flex;
flex-direction:column;
justify-content:center;
row-gap:15px;
}

#main #main_visual .box .txt p {
font-weight:600;
font-size:calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
text-align:center;
}

#main #main_visual .box .txt > span {
font-size:1.2rem;
text-align:center;
}

#main #main_visual .box .title_txt {
display:flex;
flex-direction:column;
justify-content:center;
row-gap:10px;
}

#main #main_visual .box .title_txt h2 {
}

#main #main_visual .box h2 span:first-child {
font-size:calc(2.3rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.6;
}

#main #main_visual .box h2 span:nth-child(2) {
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.8;
}



#main #main_visual .half {
display:flex;
flex-wrap:wrap;
}

#main #main_visual .half img {
width:50%;
height:500px;
object-fit:cover;
}

#main #main_visual .half img:first-child {
border-radius:0 0 0 100px;
}


/*--- left_title ---*/
#main #main_visual.left_title {
display:flex;
justify-content:start;
height:500px;
position:relative;
z-index:1;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
width:100%;
}

#main #main_visual.left_title.lazyloaded {
opacity:1;
}

#main #main_visual h2.left_title {
position:relative;
margin-bottom:-40px;
padding:30px 30px 30px 50px;
display:flex;
align-items:center;
justify-content:start;
z-index:3;
}

#main #main_visual h2.left_title:before {
/*background-color:var(--white);*/
background-color:var(--blue);
border-radius:0 50px 50px 0;
content:" ";
left:0;
height:100%;
position:absolute;
width:calc(100% + 20px);
opacity:1;
z-index:1;
}

#main #main_visual h2.left_title span {
/*color:var(--black);*/
color:var(--white);
font-size:calc(1.8rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
position:relative;
z-index:3;
}

#main #main_visual .full {
position:absolute;
height:500px;
width:100%;
top:0;
}

#main #main_visual .full img {
border-radius:0 0 0 100px;
height:500px;
object-fit:cover;
width:100%;
}

/*---------------------------------------------
section
---------------------------------------------*/
#main_cont .section {
background-color:var(--white);
/*border:6px solid var(--gray_ee);*/
border-radius:20px;
display:flex;
flex-grow:1;
flex-direction:column;
/*padding:40px 40px 40px;*/
row-gap:40px;
padding:50px;
position:relative;
width:100%;
opacity:0;
-webkit-transition:opacity 3s;
transition:opacity 3s;
}

#main_cont .section.lazyloaded {
opacity:1;
}

#main_cont .section .section_title {
align-items:center;
display:flex;
flex:0 1 auto;
display:flex;
flex-direction:column;
justify-content:center;
padding:0;
row-gap:5px;
}

#main_cont .section .section_title h3 {
font-size:calc(2.1rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.6;
}

#main_cont .section .section_title > span {
color:var(--blue03);
font-size:calc(0.7rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.6;
}

#main_cont .section .section_title h4 {
color:var(--blue);
font-size:calc(1.4rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.6;
}

#main_cont .section > p.note {
font-size:calc(0.7rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.6;
margin-top:15px;
}

#main_cont .section .section_title p.lead {
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.6;
margin-top:15px;
text-align:center;
width:100%;
}

#main_cont .section .section_title p.lead span {
color:var(--red);
}

#main_cont .section .section_cont {
/*border:6px solid var(--gray_ee);*/
border-radius:20px;
display:flex;
flex-direction:column;
padding:0;
row-gap:30px;
}

#main_cont .section .section_cont p.lead {
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.6;
text-align:center;
width:100%;
}

#main_cont .section .section_cont p.lead span {
color:var(--red);
}

#main_cont .section .section_cont.has_border {
border:6px solid var(--gray_ee);
}

#main_cont .section_cont > p.lead {
font-size:calc(0.8rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.6;
text-align:center;
}

/*--- pattern_a ---*/
#main_cont .section.pattern_a {
background-color:var(--blue03);
padding:0;
row-gap:0;
}

#main_cont .section.pattern_a .section_title {
background-color:var(--blue);
border-radius:10px 10px 0 0;
padding:20px 0 25px;
row-gap:0;
}

#main_cont .section.pattern_a .section_title h3 {
color:var(--white);
}

#main_cont .section.pattern_a .box {
display:flex;
flex-direction:column;
padding:20px;
row-gap:20px;
}

#main_cont .section.pattern_a .box .section_cont {
background-color:var(--white);
box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.2);
border-radius:10px;
padding:30px 50px 50px;
row-gap:20px;
}

#main_cont .section.pattern_a .box .section_cont h4.lead {
font-size:calc(1.4rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.6;
text-align:center;
}


/*---------------------------------------------
openList
---------------------------------------------*/
#main_cont .section {}
#main_cont .section .openList {
position:relative;
}

#main_cont .section .openList:before {
background-color:var(--yellow);
border-radius:12px;
content:" ";
right:15px;
top:50%;
margin-top:-11px;
position:absolute;
height:23px;
width:23px;
}

#main_cont .section .openList:after {
color:var(--black);
content:"\f067";
font-family:var(--icon);
font-size:1.1rem;
font-weight:600;
right:21px;
top:50%;
margin-top:-4px;
opacity:0.7;
position:absolute;
z-index:3;
}

#main_cont .section .openList_cont {
background-color:var(--blue03);
max-height:0;
-webkit-transition:max-height 0.3s, opacity 3s;
transition:max-height 0.3s, opacity 3s;
overflow:hidden;
}

#main_cont .section .openList.active {}

#main_cont .section .openList.active:before {
background-color:var(--yellow);
}

#main_cont .section .openList.active:after {
color:var(--black);
content:"\f068";
}

#main_cont .section .openList_cont.active {
display:block;
max-height:100%;
opacity:1;
}

/*---------------------------------------------
conversion_area
---------------------------------------------*/
/*--- conversion_area ---*/

#conversion_area {
padding:30px 30px 250px 320px;
}

/*---------------------------------------------
price_table
---------------------------------------------*/
.price_table {
display:flex;
flex-direction:column;
row-gap:20px;
position:relative;
}

.price_table .price_table_cont {
background-color:var(--blue);
border-radius:8px;
border:5px solid var(--blue);
display:flex;
flex-direction:column;
margin-top:0;
padding:0;
position:relative;
width:100%;
}

.price_table .price_table_cont h4 {
color:var(--white);
flex-shrink:1;
font-size:calc(1.4rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
padding:20px 25px 25px;
position:sticky;
left:0;
width:100%;
}

.price_table .price_table_cont table {
background-color:var(--white);
flex-grow:1;
flex:0 1 auto;
width:100%;
}

.price_table .price_table_cont table thead {

}

.price_table .price_table_cont table thead tr {

}

.price_table .price_table_cont table thead tr th {
background-color:var(--blue01);
border-right:2px solid var(--blue);
border-bottom:4px solid var(--blue);
color:var(--blue);
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.3;
padding:10px 10px;
text-align:center;
vertical-align:middle;
}

.price_table .price_table_cont table thead tr:first-child th:first-child {
border-right:4px solid var(--blue);
border-bottom:4px solid var(--blue);
}

.price_table#at table thead tr:first-child th:nth-child(3),
.price_table#mt table thead tr:first-child th:nth-child(3) {
border-bottom:2px solid var(--blue);
}

.price_table .price_table_cont table thead tr:first-child th:last-child {
border-right:none;
}

.price_table .price_table_cont table tbody {
}

.price_table .price_table_cont table tbody tr th {
background-color:var(--blue01);
border-right:4px solid var(--blue);
border-bottom:2px solid var(--blue);
color:var(--blue);
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.4;
padding:20px 5px;
position:relative;
text-align:center;
vertical-align:middle;
}

.price_table .price_table_cont table tbody tr th:first-child {
width:20%;
}

.price_table#limit table tbody tr:first-child td:nth-child(2) {
min-width:270px;
width:30%;
}

.price_table#at table tbody tr:nth-child(3) th:first-child,
.price_table#mt table tbody tr:nth-child(3) th:first-child,
.price_table#limit table tbody tr:nth-child(7) th {
border-bottom:none;
}

.price_table .price_table_cont table tbody tr th.no_bottom_border {
border-bottom:none;
}

.price_table .price_table_cont table tbody tr td {
border-right:2px solid var(--blue);
border-bottom:2px solid var(--blue);
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.4;
padding:20px 5px;
position:relative;
text-align:center;
vertical-align:middle;
}

.price_table .price_table_cont table tbody tr:first-child td:last-child {
border-right:none;
}

.price_table .price_table_cont table tbody tr:last-child td {
border-bottom:none;
}

.price_table .price_table_cont table tbody tr td:last-child {
border-right:none;
}

.price_table .price_table_cont table tbody tr td.no_bottom_border {
border-bottom:none;
}

.price_table .price_table_cont table tbody tr td.price span {
color:var(--orange);
text-align:right;
}


.price_table .price_table_cont table tbody tr th .displacement {
display:inline-block;
font-size:calc(0.6rem + ((1vw - 0.48rem) * 0.6944));
margin-top:15px;
text-align:center;
width:100%;
}

.price_table .price_table_cont table tbody tr td .condition {
display:inline-block;
font-size:calc(0.6rem + ((1vw - 0.48rem) * 0.6944));
margin-top:15px;
text-align:center;
width:100%;
}

.price_table p.note {
display:flex;
flex-direction:column;
font-size:calc(0.7rem + ((1vw - 0.48rem) * 0.6944));
line-height:1.6;
row-gap:5px;
}

.price_table .price_table_cont table tbody tr th .stop,
.price_table .price_table_cont table tbody tr td .stop {
align-items:center;
display:flex;
height:100%;
justify-content:center;
left:0;
top:0;
position:absolute;
width:100%;
}

.price_table .price_table_cont table tbody tr th .stop:after,
.price_table .price_table_cont table tbody tr td .stop:after {
content:" ";
background-color:var(--black);
height:100%;
left:0;
top:0;
position:absolute;
opacity:0.7;
width:100%;
z-index:2;
}

.price_table .price_table_cont table tbody tr th .stop span {
background-color:var(--white);
border-radius:6px;
display:block;
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
padding:15px 30px;
z-index:3;
}

/*---------------------------------------------
time_table
---------------------------------------------*/
.time_table {
background-color:var(--blue);
border-radius:8px;
display:flex;
flex-direction:column;
margin-top:0;
padding:5px;
position:relative;
width:100%;
}

.time_table table {
background-color:var(--white);
flex-grow:1;
flex:0 1 auto;
width:100%;
}

.time_table table thead {

}

.time_table table thead tr th {
background-color:var(--blue01);
border-right:4px solid var(--blue);
border-bottom:4px solid var(--blue);
color:var(--blue);
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
line-height:1.3;
padding:20px 10px;
text-align:center;
vertical-align:middle;
width:30%;
}

.time_table table thead tr:last-child th:last-child {
border-right:none;
} 

.time_table table thead tr td {
width:70%;
}

.time_table table tbody {

}

.time_table table tbody tr {
width:100%;
}

.time_table table tbody tr th {
background-color:var(--blue01);
border-right:4px solid var(--blue);
border-bottom:2px solid var(--blue);
color:var(--blue);
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
padding:20px 5px;
text-align:center;
vertical-align:middle;
width:30%;
}

.time_table table tbody tr td {
border-bottom:2px solid var(--blue);
font-size:calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
padding:20px 5px;
line-height:1.6;
text-align:center;
vertical-align:middle;
width:70%;
}

.time_table table tbody tr td span {
font-size:calc(0.6rem + ((1vw - 0.48rem) * 0.6944));
}

.time_table table tbody tr:last-child th,
.time_table table tbody tr:last-child td {
border-bottom:none;
}

/*--- limited ---*/
.time_table table tbody tr.limited th {
background-color:#f5cece;
color:var(--red);
}

.time_table table tbody tr.limited th span {
font-size:calc(0.4rem + ((1vw - 0.48rem) * 0.6944));
}

.time_table table tbody tr.limited td {
background-color:#fae5e5;
color:var(--red);
}