/* main_visual
----------------------------------- */
#sub_visual {height:250px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding-top: 120px;}
#sub_visual .img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;transform: none;z-index: -1;text-align: center;}
#sub_visual .img img{width: 100%;height: 100%;object-fit: cover;object-position: center center;display: block;margin: 0 auto;}
#sub_visual .h1_container{max-width:94%;width:94%;margin:0 auto;text-align: center;}
#sub_visual .h1_container h1{font-size:26px; line-height: 130%;font-weight: normal;letter-spacing: 4px;color: #fff;text-align: center;position: relative;font-family: "Yuji Syuku", serif;border-bottom: solid 1px #fff;width: fit-content;margin: 0 auto 0.1em;text-shadow: 0px 0px 20px #6a350c80;}

/* sub_contentsz
----------------------------------- */
#sub_contents {font-size: 14px; position: relative;padding:5px 0px;background-attachment: fixed; }
#sub_contents.col_black {background-color: #111111;color: #fff;}
#sub_contents p{font-size: 13px;line-height: 1.8em;}
#sub_contents p.colwhite{color: #fff;}
#sub_contents .sub_bg p {color: #fff;}
#sub_contents .sub_bg a {color: #fff;}
#sub_contents .sub_bg a:hover {color: #af131a;}
#sub_contents .section{max-width: 94%; margin: 40px auto 50px;position: relative;width: 94%;}
#sub_contents .section.colwhite p {color: #111;}
#sub_contents .sub_ttl{scroll-margin-top: 80px;}
#sub_contents h2{ text-align: center;font-size:20px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto 40px; font-weight: normal;font-family: "Yuji Syuku", serif;border-top: solid 1px #af131a;border-bottom: solid 1px #af131a;width: 90%;scroll-margin-top: 80px;}
#sub_contents .sub_bg h2{ border-top: solid 1px #af131a;border-bottom: solid 1px #af131a;color: #fff;}
#sub_contents .section.colwhite h2{border-top: solid 1px #af131a;border-bottom: solid 1px #af131a;color: #af131a;}
#sub_contents h3{ text-align: center;font-size:18px; margin-bottom:15px; position: relative; font-weight: bold;margin-top: 40px;}
#sub_contents .mb10{margin-bottom: 10px;}
#sub_contents .mb20{margin-bottom: 15px;}
#sub_contents .mb30{margin-bottom: 20px;}
#sub_contents .mb50{margin-bottom: 30px;}
#sub_contents .mb80{margin-bottom: 40px;}
#sub_contents .mb100{margin-bottom: 50px;}
#sub_contents .mb150{margin-bottom: 100px;}
#sub_contents .mt80{margin-top: 50px;} 
#sub_contents .mt30{margin-top: 20px;}
#sub_contents .txt_cen{ text-align: left;  line-height: 200%;font-size: 15px;font-weight: bold;}
#sub_contents .txt_st{ text-align: left; line-height: 200%;}
#sub_contents .sub_ttl_02_box{ text-align: center; position: relative;width: 100%;}
#sub_contents .sub_ttl_02_box p.sub_ttl_02{ text-align: center;  line-height: 180%;font-size: 18px;z-index: 2;position: relative;}
#sub_contents .sub_ttl_02::before{position: absolute;content: "";background: url(../images/sub_ill_02.png) no-repeat center center / cover ;width:50px;height:50px;bottom: -35px;left: 50%;transform: translate(-50%, -50%);z-index: -1;opacity: .2;}
#sub_contents .sub_bg .txt_st a{color: #f73245;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat top;width: 100%; padding: 10px 0px;z-index: 0;  z-index: 0;position: relative;}
#sub_contents .sub_bg:before,#sub_contents .sub_bg05:before {content: '';position: absolute;top: -15px;left: 50%;transform: translateX(-50%);width: 100%;  height: 30px;background-size: contain;z-index: 1;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:94%;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:94%;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;color:#fff;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:12px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:12px;padding:0 2%;}
#sub_contents .sub_bg .bread_crumb p.bread a{color:#fff;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 10px;}
#sub_contents .anker__item{width: 48%;position: relative;display: block;}
#sub_contents .anker__item.w100{width: 100%;}
#sub_contents .anker__item.w50{width: 100%;}
#sub_contents .anker__item.w30{width: 100%;}
#sub_contents .anker__item.w20{width: 48%;}
#sub_contents .anker__item a {display: block;text-align: center;color:#af131a;text-transform: capitalize;padding: 5px;border: solid 1px #af131a;line-height: 40px;}
#sub_contents .sub_bg .anker__item a {color:#fff;border: solid 1px #fff;}
#sub_contents .anker__item a:hover {background: #af131a;color:#fff;opacity:.8;}
#sub_contents .sub_bg .anker__item a:hover {background: #fff;color:#af131a !important;opacity:.8;}
#sub_contents .sub_bg .anker__item a:hover p {color:#af131a !important;}
#sub_contents .anker__item p {font-size: 13px;line-height: 40px;}

/* commitment
-----------------------------*/
#sub_contents .sub_black_box {background-color: #111111cc;padding: 20px;}
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .img img{width: 100%;object-fit: cover;}
#sub_contents .comm_textBox .textarea {width: 100%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl {border-bottom: double 4px #111;margin-bottom: 10px;font-weight: normal;font-size: 16px;padding-bottom:5px;letter-spacing: 0.2em;}
#sub_contents .sub_bg .comm_textBox .textarea p.ttl {border-bottom: double 4px #fff;}
#sub_contents .comm_textBox .textarea p.ttl.colgold {background: linear-gradient(to right, #d5b201, #ffeb9f);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
#sub_contents.col_black .comm_textBox .textarea p.ttl {border-bottom: solid 1px #fff;}
#sub_contents .comm_textBox .textarea p.ttl.colwhite {border-bottom: solid 1px #fff;}
#sub_contents .comm_textBox .textarea p.number {font-size: 13px;text-transform: capitalize;font-weight: normal;text-align: right;padding: 3px 1em;border: solid 1px #af131a;color: #fff;width: fit-content;margin-left: auto;margin-right: 0;}
#sub_contents img.sub_ill_01  { width: 20%; right: 1%;bottom: -2%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: .1;}
#sub_contents img.sub_ill_02  { width: 20%; right: 1%;bottom: -2%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: .1;}

/* menu
-----------------------------*/
#sub_contents .sub_menu_img {width: 100%;}
#sub_contents .sub_menu_img img {width: 49%;object-fit: cover;height: 140px;}
#sub_contents .tbl_menu {width: 100%;margin-inline: auto;display: inline-block;font-size:14px;}
#sub_contents .tbl_menu .tr {display: block;border-bottom: solid 1px #ddd;}
#sub_contents .tbl_menu .th {width: 100%;padding: 5px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th::before {content: "";display: inline-block;width: 13px;height: 13px;background-image: url(../images/sub_menu_icon.png);background-size: contain;background-repeat: no-repeat;position: absolute;top: 50%;transform: translateY(-50%);}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left: 22px;}
#sub_contents .tbl_menu .th .menu_name.sub_small {font-size: 12px;}
#sub_contents .tbl_menu .th.oshi {padding-bottom: 0px;margin-bottom: -15px;}
#sub_contents .tbl_menu .th.oshi .menu_name{font-size: 10px;background-color: #af131a;color: #000;padding: 2px 1em;margin-bottom: 6px;width: fit-content;padding-bottom: 0;}
#sub_contents .tbl_menu .td {width: 100%;text-align: right;line-height: 1.6;padding: 5px 0;}
#sub_contents .tbl_menu .td .menu_price {font-weight: normal;}
#sub_contents .sub_menu_set {width: 100%;padding: 30px 20px;background-color: #ffffffcc;}

/* course
-----------------------------*/
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info.white {background-color: #fff;padding: 10px;}
#sub_contents .tbl_info .tr {display: block;align-items: center;position: relative;align-items: stretch;}
#sub_contents .tbl_info .th {width: 100%;padding: 1em;border-bottom: none;text-align: center;align-items: center;vertical-align: middle;background: #111;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;color: #fff;}
#sub_contents .tbl_info .td {width: 100%;text-align: left;padding: 1em;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {border-bottom: solid 1px #111;}
#sub_contents.col_black .tbl_info .td a {border-bottom: solid 1px #c5c5c5;}
#sub_contents .tbl_info .td p.info strong{display:block;}

/* shop
-----------------------------*/
#sub_contents .box_greeting{padding: 10px 10px 10px;background:url("../images/sub_sh_img_01_01.jpg")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting .inner{background: #000000cc;padding: 10px 10px; position: relative;text-align: center; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting.drm .inner,#sub_contents .box_greeting.kmtk .inner{background: #ffffffdd;}
#sub_contents .box_greeting .inner .txt_box{width: 100%;}
#sub_contents .box_greeting .inner p.span{font-size:13px; font-weight: normal;line-height: 220%;color: #fff;display: block;}
#sub_contents .box_greeting .inner p.ttl{font-size:15px; font-weight: normal;line-height: 200%;color: #fff;font-weight: bold;display: block;}
#sub_contents .box_greeting.drm .inner p.span,#sub_contents .box_greeting.kmtk .inner p.span{color:#111}

/* case
----------------------------------- */
#sub_contents .icon_boxes{width: 100%;position: relative;}
#sub_contents .icon_boxes .icon_box{padding: 40px 20px 30px;border: double 4px #111; width: 100%;margin-bottom: 15px;position: relative;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 15px;color: #111;text-align: center;font-weight: bold;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .caption{position: absolute; left: 0; top: 0px; color: #111; padding: 5px 10px;}
#sub_contents .icon_boxes .icon_box .caption p{font-size: 20px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 14px;color: #111;text-align: left;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .img img{width: 100%;height: 200px;object-fit: cover;margin: 0 auto;}
#sub_contents .icon_boxes .icon_box p.ex{text-align: center;}

/* guide
----------------------------------- */
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 20px;}
#sub_contents .faq__item .dt {padding: 15px 20px 15px 50px;background: #111111;position: relative;font-weight: bold;color: #fff;border: 1px solid #111111;}
#sub_contents .faq__item .dd {padding: 15px 20px 15px 50px;position: relative;background:#ffffffcc;border-right: 1px solid #111111;border-bottom: 1px solid #111111;border-left: 1px solid #111111;}
#sub_contents .faq__item .dt::before,
#sub_contents .faq__item .dd::before {position: absolute;left: 20px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 20px;color:#fff;font-family: "Cormorant Infant", serif;font-weight: normal;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 20px;color: #111111;font-family: "Cormorant Infant", serif;}
#sub_contents .r_flow {width: 100%;margin-bottom: 100px;padding-left: 0px;position: relative;}
#sub_contents .r_flow .li { position: relative;padding: 20px 0px;}
#sub_contents .r_flow .li .icon {font-size: 16px;color: #fff;background: #af131a;padding: 5px 1em 5px;display: block;position: relative;top: 5px;margin-bottom: 10px;left: 0px;z-index: 100;border-radius:0;text-align:center;text-transform: capitalize;}
#sub_contents .r_flow .li .dl {padding-left: 0px;position: relative;}
#sub_contents .r_flow .li .dl .dt {font-size: 14px;margin-bottom: 20px;font-weight:bold;}
#sub_contents .r_flow .li p.ex {margin-top: 0px;font-size: 14px;padding: 1.5em;border: solid 1px #111;background: #111111cc;}

/* recruit
----------------------------------- */
#sub_contents .bene_list {padding: 10px 20px;position: relative;background-color: #111;}
#sub_contents .bene_list p {font-size:14px; display: block;padding-left: 30px;color: #fff !important;}
#sub_contents .bene_list p::before {content: "";position: absolute;left: 20px;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check_icon.png) no-repeat;background-size: contain;}

@media screen and (min-width: 768px) {
/* main_visual
----------------------------------- */
#sub_visual {height:300px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding-top: 140px;}
#sub_visual .h1_container{max-width:1140px;width:94%;margin:0 auto;text-align: center;}
#sub_visual .h1_container h1{font-size:40px; line-height: 150%;font-weight: normal;letter-spacing: 4px;text-align: center;position: relative;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;padding:5px 0px;background-attachment: fixed; }
#sub_contents p{font-size: 16px;line-height: 1.8em;}
#sub_contents .section{max-width: 1140px; margin: 70px auto 80px;position: relative;width: 94%;}
#sub_contents .scroll_section{width: 100%;margin: 50px auto 50px;position: relative;}
#sub_contents .sub_ttl{scroll-margin-top: 80px;}
#sub_contents h2{ text-align: center;font-size:24px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto 50px;border-top: solid 1px #111111;border-bottom: solid 1px #111111;width: 600px;scroll-margin-top: 130px;}
#sub_contents h3{ text-align: center;font-size:30px; margin-bottom:15px; position: relative; font-weight: bold; margin-top: 40px;}
#sub_contents .sub_ttl_02_box{ text-align: center; position: relative;width: 100%;}
#sub_contents .sub_ttl_02_box p.sub_ttl_02{ text-align: center;  line-height: 180%;font-size: 18px;z-index: 2;position: relative;}
#sub_contents .sub_ttl_02::before{position: absolute;content: "";background: url(../images/sub_ill_02.png) no-repeat center center / cover ;width:70px;height:70px;bottom: -55px;left: 50%;transform: translate(-50%, -50%);z-index: -1;opacity: .2;}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 50px;}
#sub_contents .mb80{margin-bottom: 60px;}
#sub_contents .mb100{margin-bottom: 50px;}
#sub_contents .mb150{margin-bottom: 100px;}
#sub_contents .mt80{margin-top: 80px;}
#sub_contents .mt30{margin-top: 30px;}
#sub_contents .gap-20{gap: 30px;}
#sub_contents .txt_cen{ text-align: center;  line-height: 200%;font-size: 20px;font-weight: bold;}
#sub_contents .txt_st{ text-align: center;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat top;width: 100%; padding: 10px 0px;z-index: 0;  z-index: 0;position: relative;}
#sub_contents .sub_bg02:before,#sub_contents .sub_bg05:before {content: '';position: absolute;top: -30px;left: 50%;transform: translateX(-50%);width: 100%;  height: 50px;background-size: contain;z-index: 1;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:94%;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:94%;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;color:#fff;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:12px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:12px;padding:0 2%;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 10px;}
#sub_contents .anker__item{width: 32%;position: relative;display: block;}
#sub_contents .anker__item.w100{width: 100%;}
#sub_contents .anker__item.w50{width: 100%;}
#sub_contents .anker__item.w30{width: 48%;}
#sub_contents .anker__item.w20{width: 32%;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;}
#sub_contents .anker__item a:hover {background: #af131a;color:#fff;opacity:.8;}
#sub_contents .anker__item a p{font-size:16px;}

/* commitment
-----------------------------*/
#sub_contents .sub_black_box {background-color: #111111cc;padding: 30px;}
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .textarea {width: 100%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl {border-bottom: double 4px #111;margin-bottom: 10px;font-weight: normal;font-size: 20px;padding-bottom:5px;letter-spacing: 0.2em;}
#sub_contents .sub_bg .comm_textBox .textarea p.ttl {border-bottom: double 4px #fff;}
#sub_contents .comm_textBox .textarea p.number {font-size: 14px;text-transform: capitalize;font-weight: normal;text-align: right;padding: 3px 1em;}
#sub_contents img.sub_ill_01  { width: 20%; right: 1%;bottom: -15%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: .1;}
#sub_contents img.sub_ill_02  { width: 20%; right: 1%;bottom: -15%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: .1;}

/* menu
-----------------------------*/
#sub_contents .sub_menu_img img {width: 49%;object-fit: cover;height: 250px;}
#sub_contents .tbl_menu {width: 100%;margin-inline: auto;display: inline-block;font-size:15px;}
#sub_contents .tbl_menu .tr {display: flex;align-items: flex-start;border-bottom: solid 1px #ddd;}
#sub_contents .tbl_menu .th {width: 100%;padding: 15px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th::before {content: "";display: inline-block;width: 15px;height: 15px;background-image: url(../images/sub_menu_icon.png);background-size: contain;background-repeat: no-repeat;position: absolute;top: 50%;transform: translateY(-50%);}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left: 26px;}
#sub_contents .tbl_menu .th .menu_name.sub_small {font-size: 12px;}
#sub_contents .tbl_menu .th.oshi .menu_name{font-size: 14px;padding: 4px 1em;margin-bottom: 6px;width: fit-content;padding-bottom: 0;}
#sub_contents .tbl_menu .td {width: 39%;text-align: right;line-height: 1.6;padding: 15px 0;}
#sub_contents .tbl_menu .td .menu_price {font-weight: normal;}
#sub_contents .sub_menu_set {width: 100%;padding: 60px 30px 40px;background-color: #ffffffcc;}

/* shop
-----------------------------*/
#sub_contents .box_greeting{padding: 20px;background:url("../images/sub_sh_img_01_01.jpg")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting .inner{background: #000000cc;padding: 20px; position: relative;text-align: center; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting .inner .txt_box{width: 100%;}
#sub_contents .box_greeting .inner p.span{font-size:15px; font-weight: normal;color: #fff;display: inline-block;}
#sub_contents .box_greeting .inner p.ttl{font-size:18px; font-weight: normal;color: #fff;font-weight: bold;display: inline-block;}

/* case
----------------------------------- */
#sub_contents .icon_boxes{width: 100%;position: relative;gap: 2%;}
#sub_contents .icon_boxes .icon_box{padding: 40px 20px 30px; width: 100%;margin-bottom: 20px;position: relative;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 18px;text-align: center;font-weight: bold;margin-bottom: 15px;}
#sub_contents .icon_boxes .icon_box .caption{position: absolute; left: 0; top: 0px;padding: 5px 10px;}
#sub_contents .icon_boxes .icon_box .caption p{font-size: 28px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 16px;text-align: left;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .img img{height: 200px;object-fit: cover;margin: 0 auto;}

/* guide
----------------------------------- */
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 20px;}
#sub_contents .faq__item .dt {padding: 15px 20px 15px 50px;position: relative;font-weight: bold;}
#sub_contents .faq__item .dd {padding: 15px 20px 15px 50px;position: relative;}
#sub_contents .faq__item .dt::before,
#sub_contents .faq__item .dd::before {position: absolute;left: 20px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 20px;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 20px;}
#sub_contents .r_flow { width: 100%;padding-left: 120px;position: relative}
#sub_contents .r_flow::before {content: "";width: 15px;height: 100%;background: #111;margin-left: -8px;display: block;position: absolute;top: 0;left: 320px;}
#sub_contents .r_flow .li {position: relative;padding: 30px 0px;}
#sub_contents .r_flow .li .icon {font-size: 18px;color: #fff;background:#af131a;padding: 0px 65px 0px;display: block;position: absolute;top: 30px;margin-bottom: 0px;left: -110px;z-index: 100;border-radius:0;text-align:center;}
#sub_contents .r_flow .li .icon::after {width: 50%;content: "";border-style: solid;border-width: 5px 0 5px 10px;border-color: transparent transparent transparent #c5c5c5;position: absolute;top: 50%;left: 100%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}
#sub_contents .r_flow .li .dl {padding-left: 240px;position: relative;}
#sub_contents .r_flow .li .dl::before,
#sub_contents .r_flow .li .dl::after {content: "";display: block;position: absolute;top: 16px;}
#sub_contents .r_flow .li .dl::before {width: 7px;height: 7px;margin-top: -3px;background: #af131a;border-radius: 50%;left: 195px;}
#sub_contents .r_flow .li .dl::after {width: 30%;border-bottom: 1px solid #af131a;position: absolute;left: 0px;}
#sub_contents .r_flow .li .dl .dt {font-size: 15px;margin-bottom: 1vh;letter-spacing: -0.01em;}
#sub_contents .r_flow .li p.ex {margin-top: 0px;background-color: #111111cc;}

/* recruit
----------------------------------- */
#sub_contents .bene_list {padding: 10px 30px;position: relative;}
#sub_contents .bene_list p {font-size:18px; display: inline-block;padding-left: 40px;color: #fff !important;}
#sub_contents .bene_list p.span {padding-left: 0px;}
#sub_contents .bene_list p::before {content: "";position: absolute;left: 30px;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check_icon.png) no-repeat;background-size: contain;}
}

@media screen and (min-width: 1024px) {
/* main_visual
----------------------------------- */
#sub_visual {height:350px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding: 120px;}
#sub_visual .h1_container{max-width:1140px;width:94%;margin:0 auto;text-align: center;}
#sub_visual .h1_container h1{font-size:58px; line-height: 180%;font-weight: normal;letter-spacing: 4px;text-align: center;position: relative;}
#sub_visual .h1_container.colwhite h1{margin-top: -30px;}
#sub_visual .h1_container .ttl{font-size:20px; line-height: 180%;font-weight: normal;letter-spacing: 4px;text-align: center;position: relative;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;padding:5px 0px;background-attachment: fixed; }
#sub_contents p{font-size: 16px;line-height: 1.8em;}
#sub_contents .section{max-width: 1140px; margin: 70px auto 80px;position: relative;width: 94%;}
#sub_contents .scroll_section{width: 100%;margin: 50px auto 50px;position: relative;}
#sub_contents h2{ text-align: center;font-size:28px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto 80px;border-top: solid 1px #af131a;border-bottom: solid 1px #af131a;width: 600px;scroll-margin-top: 130px;}
#sub_contents h3{ text-align: center;font-size:30px; margin-bottom:15px; position: relative;margin-top: 40px;}
#sub_contents .sub_ttl{scroll-margin-top: 220px;}
#sub_contents .sub_ttl_02_box{ text-align: center; position: relative;width: 100%;}
#sub_contents .sub_ttl_02_box p.sub_ttl_02{ text-align: center;  line-height: 180%;font-size: 20px;z-index: 2;position: relative;}
#sub_contents .sub_ttl_02::before{position: absolute;content: "";background: url(../images/sub_ill_02.png) no-repeat center center / cover ;width:100px;height:100px;bottom: -80px;left: 50%;transform: translate(-50%, -50%);}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 50px;}
#sub_contents .mb80{margin-bottom: 80px;}
#sub_contents .mb100{margin-bottom: 100px;}
#sub_contents .mb150{margin-bottom: 150px;}
#sub_contents .mt80{margin-top: 80px;} 
#sub_contents .mt30{margin-top: 30px;} 
#sub_contents .gap-20{gap: 30px;} 
#sub_contents .txt_cen{ text-align: center;  line-height: 200%;font-size: 20px;font-weight: bold;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat top;width: 100%; padding: 10px 0px;z-index: 0;  z-index: 0;position: relative;}
#sub_contents .sub_bg02:before,#sub_contents .sub_bg05:before {content: '';position: absolute;top: -60px;width: 100%;height: 120px;right: 0;left: 50%;z-index: 1;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:1140px;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:1140px;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;color:#fff;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:13px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:13px;padding:0 2%;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 10px;}
#sub_contents .anker__item{width: 23%;position: relative;display: block;}
#sub_contents .anker__item.w100{width: 100%;}
#sub_contents .anker__item.w50{width: 48%;}
#sub_contents .anker__item.w30{width: 32%;}
#sub_contents .anker__item.w20{width: 19%;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;}
#sub_contents .anker__item a:hover {background: #af131a;color:#fff;opacity:.8;}
#sub_contents .anker__item p.small {font-size: 13px;}

/* commitment
-----------------------------*/
#sub_contents .sub_black_box {background-color: #111111cc;padding: 40px;}
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 45%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .textarea {width: 50%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl {border-bottom: double 4px #111;margin-bottom: 10px;font-weight: normal;font-size: 24px;padding-bottom:5px;letter-spacing: 0.2em;}
#sub_contents .sub_bg .comm_textBox .textarea p.ttl {border-bottom: double 4px #fff;}
#sub_contents .comm_textBox .textarea p.number {font-size: 16px;text-transform: capitalize;font-weight: normal;text-align: right;padding: 3px 1em;}
#sub_contents img.sub_ill_01  { width:20%; right: 0%;bottom: -30%;}
#sub_contents img.sub_ill_02  { width:20%; left: 0%;bottom: -30%;}

/* menu
-----------------------------*/
#sub_contents .sub_menu_img img {width: 49%;object-fit: cover;height: 350px;}
#sub_contents .tbl_menu {width: 45%;margin-inline: auto;display: inline-block;font-size:14px;}
#sub_contents .tbl_menu p{font-size:14px;}
#sub_contents .tbl_menu.w100 {width: 100%;}
#sub_contents .tbl_menu .tr {display: flex;align-items: flex-start;border-bottom: solid 1px #ddd;}
#sub_contents .tbl_menu .th {width: 100%;padding: 15px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th::before {content: "";display: inline-block;width: 15px;height: 15px;background-image: url(../images/sub_menu_icon.png);background-size: contain;background-repeat: no-repeat;position: absolute;top: 50%;transform: translateY(-50%);}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left: 20px;}
#sub_contents .tbl_menu .th .menu_name.sub_small {font-size: 13px;}
#sub_contents .tbl_menu .th.oshi .menu_name {font-size: 15px;padding: 4px 1em;margin-bottom: 6px;width: fit-content;}
#sub_contents .tbl_menu .td {width: 39%;text-align: right;padding: 15px 0;line-height: 1.6;}
#sub_contents .tbl_menu .td .menu_price {font-weight: normal;}
#sub_contents .sub_menu_set {width: 100%;padding: 100px 40px 60px;background-color: #ffffffcc;}

/* course
-----------------------------*/
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info.white {background-color: #fff;padding: 30px;}
#sub_contents .tbl_info .tr {display: flex;align-items: center;position: relative;align-items: stretch;border-bottom: 1px solid #c5c5c5;padding-bottom: 7px;padding-top: 7px;}
#sub_contents .tbl_info .tr:first-child {border-top: 1px solid #c5c5c5;}
#sub_contents .tbl_info .th {width: 20%;padding: 20px;text-align: center;align-items: center;vertical-align: middle;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;}
#sub_contents .tbl_info .td {width: 80%;text-align: left;padding: 20px;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td p.info strong{display:inherit;}

/* shop
-----------------------------*/
#sub_contents .box_greeting{padding: 20px;background:url("../images/sub_sh_img_01_01.jpg")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting .inner{background: #000000cc;padding: 20px; position: relative;text-align: center; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting .inner .txt_box{width: 100%;}
#sub_contents .box_greeting .inner p.span{font-size:16px; font-weight: normal;color: #fff;display: inline-block;}
#sub_contents .box_greeting .inner p.ttl{font-size:24px; font-weight: normal;color: #fff;font-weight: bold;display: inline-block;}

/* case
-----------------------------*/
#sub_contents .icon_boxes{width: 100%;position: relative;}
#sub_contents .icon_boxes .icon_box{padding: 30px 20px 30px;width: 32%;margin-bottom: 15px;position: relative;}
#sub_contents .icon_boxes.w50 .icon_box{padding: 30px 20px 30px;width: 49%;margin-bottom: 15px;position: relative;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 20px;text-align: center;font-weight: bold;}
#sub_contents .icon_boxes .icon_box .caption{position: absolute; left: 0; top: 0px;padding: 5px 10px; }
#sub_contents .icon_boxes .icon_box .caption p{font-size: 28px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 16px;text-align: left;}
#sub_contents .icon_boxes .icon_box p.ex{font-size: 14px;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .img img{height: 250px;object-fit: cover;margin: 0 auto;}

/* guide
----------------------------------- */
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 20px;}
#sub_contents .faq__item .dt {padding: 25px 20px 25px 60px;position: relative;font-weight: bold;}
#sub_contents .faq__item .dd {padding: 25px 20px 25px 60px;position: relative;}
#sub_contents .faq__item .dt::before,
#sub_contents .faq__item .dd::before {position: absolute;left: 20px;top: 18px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 30px;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 30px;}
#sub_contents .r_flow {width: 100%;padding-left: 120px;position: relative;}
#sub_contents .r_flow::before {content: "";width: 15px;height: 100%;background: #111111;margin-left: -8px;display: block;position: absolute;top: 0;left: 320px;}
#sub_contents .r_flow .li {position: relative;padding: 30px 0px;}
#sub_contents .r_flow .li .icon {color: #fff;padding: 0px 65px 0px;display: block;position: absolute;top: 20px;margin-bottom: 0px;left: -110px;z-index: 100;border-radius:0;text-align:center;}
#sub_contents .r_flow .li .icon::after {content: "";border-style: solid;border-width: 5px 0 5px 10px;border-color: transparent transparent transparent #af131a;position: absolute;top: 50%;left: 100%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}
#sub_contents .r_flow .li .icon p{font-size: 18px;}
#sub_contents .r_flow .li .dl {padding-left: 240px;position: relative;}
#sub_contents .r_flow .li .dl::before,
#sub_contents .r_flow .li .dl::after {content: "";display: block;position: absolute;top: 16px;}
#sub_contents .r_flow .li .dl::before {width: 7px;height: 7px;margin-top: -3px;background: #af131a;border-radius: 50%;left: 195px;}
#sub_contents .r_flow .li .dl::after {width: 22%;border-bottom: 1px solid #af131a;position: absolute;left: 0px;}
#sub_contents .r_flow .li .dl .dt { font-size: 21px;margin-bottom: 1vh;}
#sub_contents .r_flow .li p {margin-top: 0px;}

/* recruit
----------------------------------- */
#sub_contents .bene_list {padding: 10px 30px;position: relative;}
#sub_contents .bene_list p {font-size:18px; display: inline-block;padding-left: 40px;color: #fff !important;}
#sub_contents .bene_list p.span {padding-left: 0px;}
#sub_contents .bene_list p::before {content: "";position: absolute;left: 30px;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check_icon.png) no-repeat;background-size: contain;}
}

@media screen and (min-width: 1025px) {

/* curriculum
----------------------------------- */
#sub_contents .r_flow {width: 100%;padding-left: 120px;position: relative;}
#sub_contents .r_flow::before { content: "";width: 15px; height: 100%;margin-left: -8px; display: block; position: absolute; top: 0; left: 320px;}
#sub_contents .r_flow .li {position: relative;padding: 30px 0px;}
#sub_contents .r_flow .li .icon {padding: 0px 65px 0px;display: flex;align-items: center; justify-content: center;position: absolute;top: 27px; margin-bottom: 0px; left: -110px; z-index: 100;border-radius:0;text-align:center;height: 40px;}
#sub_contents .r_flow .li .icon::after {content: "";border-style: solid;border-width: 5px 0 5px 10px;position: absolute;top: 50%;left: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
#sub_contents .r_flow .li .dl {padding-left: 240px;position: relative;}
#sub_contents .r_flow .li .dl::before,
#sub_contents .r_flow .li .dl::after {content: "";display: block;position: absolute;top: 16px;}
#sub_contents .r_flow .li .dl::before {width: 7px;height: 7px;margin-top: -3px;border-radius: 50%;left: 195px;}
#sub_contents .r_flow .li .dl::after {width: 18%;position: absolute;left: 0px;}
#sub_contents .r_flow .li .dl .dt {font-size: 21px;margin-bottom: 1vh;}
}