/* main_visual
----------------------------------- */
#sub_visual {padding-top:100px; height:250px;position:relative;z-index:0;overflow: hidden;}
#sub_visual .img { height:250px; position: absolute; top: 0; width:100%;z-index:-1;text-align: center;}
#sub_visual .img img{width:100%;height:100%;object-fit: cover;object-position: center;margin: 0 auto;position:relative;text-align: center;}
#sub_visual .h1_container{max-width:70%;width:70%;margin:0 auto;position:relative;text-align: center;color:#fff;background-color: #11111199;padding: 2em 2em;display: block;}
#sub_visual .h1_container h1{font-size:26px; line-height: 100%;font-weight: normal;letter-spacing: 0.1em;font-weight: normal;text-transform: capitalize;margin-bottom: 10px;}
#sub_visual .h1_container .ttl{font-size:15px;line-height:100%;font-weight: normal;letter-spacing: 0.1em;}

/* 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:10px;}
#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%;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 14px; position: relative;padding:0px 0px 50px 0;z-index:0;}
#sub_contents section{max-width: 94%; margin: 50px auto 50px;position: relative;}
#sub_contents .section{max-width: 94%; margin: 100px auto 80px;position: relative;}
#sub_contents .section.mt0{max-width: 94%; margin: 0px auto 80px;position: relative;}
#sub_contents .section_line {border:1px solid #e0e0e0;margin:100px 0;}
#sub_contents .sub_ttl {text-align:center;margin-top:50px;scroll-margin-top:90px;}
#sub_contents .sub_ttl h2{ text-align: center;font-size:20px; margin-bottom:10px; position: relative; line-height: 100%; padding-top: 25px;letter-spacing: 0.08em;font-weight: normal; scroll-margin-top: 150px;text-transform: capitalize;}
#sub_contents .sub_ttl h2:before{position: absolute;content: "";background: url(../images/sub_h2_icon.png) no-repeat center center / cover ;width:30px;height:30px;top: -10%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);z-index: 1;}
#sub_contents .sub_ttl.colred h2:before{position: absolute;content: "";background: url(../images/sub_h2_icon02.png) no-repeat center center / cover ;}
#sub_contents .sub_ttl .span{font-size:13px; display: block;margin-bottom:0px;}
#sub_contents .txt_cen{ text-align: center; font-size:19px; line-height: 200%;}
#sub_contents .txt_cen em{ display:inline;font-style:normal;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .tcen{text-align:center;}
#sub_contents .f13 {font-size:14px;}
#sub_contents .mb5{margin-bottom: 5px;}
#sub_contents .mb10{margin-bottom: 10px;}
#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 .sub_bg{background: url(../images/sub_bg.png) no-repeat top center / cover ; background-size: cover; padding: 10px 0px 20px 0;}
#sub_contents .link_area a{padding:5px;}
#sub_contents .sp_br{display:block;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 10px;}
#sub_contents .anker__item{width: 100%;position: relative;display: block;}
#sub_contents .anker__item.w50{width: 100%;}
#sub_contents .anker__item a:hover{opacity:.8;}
#sub_contents .anker__item a {display: block;text-align: center;color: #111;;text-transform: capitalize;padding: 1em;font-weight: 400;border-radius: 9999px;border: solid 1px #111;}
#sub_contents .anker__item a:hover {background-color: #111;color:#fff;}
#sub_contents .anker__item p.btn_ttl{letter-spacing: 0.1em;}

/* concept
----------------------------------- */
#sub_contents .box_greeting_com{padding: 10px 10px 10px;background:url("../images/sub_con_img01.jpg")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting_com .inner{background: #11111190;padding: 20px 10px; position: relative;text-align: left; margin:0 auto; width:100%; max-width:100%;color: #fff;}
#sub_contents .box_greeting_com .inner p.content{font-size:13px; font-weight: normal;line-height: 230%;display: inline-block;letter-spacing: 0.2em;}
#sub_contents .box_greeting_com .inner p.ttl{font-size:17px; font-weight: normal;line-height: 200%;display: block;}
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox.sub_guide {background-color: #ffffff;padding: 20px 20px;border: double 4px #111;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox.sub_staff img{box-shadow: 5px 5px #111111cc;}
#sub_contents .comm_textBox .textarea {width: 100%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;font-size: 13px;}
#sub_contents .comm_textBox .textarea p.ttl {border-bottom: solid 1px #111;margin-bottom: 10px;font-weight: normal;font-size: 16px;padding-bottom:5px;letter-spacing: 0.2em;}
#sub_contents .comm_textBox .textarea p.staff {margin-bottom: 0.5em;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.price {text-align: right;padding: 5px 1em;font-size: 15px;width: 100%;}
#sub_contents .comm_textBox .textarea p.number {font-size: 13px;text-transform: capitalize;font-weight: normal;color: #111;}
#sub_contents .comm_textBox .textarea p.role {font-size: 12px;border: solid 1px #111;padding: 3px 2em;width: fit-content;}
#sub_contents .check_area {width: 100%;padding: 0px;border: none;}
#sub_contents .check_area .sub_check { padding-left: 20px;display: block;position: relative;margin-bottom: 7px;font-size: 14px;margin-right: 10px;font-weight: bold;}
#sub_contents .check_area .sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 13px;height: 13px;background: url(../images/sub_check.png) no-repeat;background-size: contain;}

#sub_contents .check_area {width: 100%;padding: 15px 20px;border: 1px solid #111;}
#sub_contents .check_area .catch {font-size: 16px;margin-bottom: 10px;font-weight: bold;}
#sub_contents .check_area .span { padding-left: 20px;display: inline-block;position: relative;margin-bottom: 7px;font-size: 14px;margin-right: 10px;}
#sub_contents .check_area .span::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 13px;height: 13px;background: url(../images/sub_check.png) no-repeat;background-size: contain;}

/* about
-----------------------------*/
#sub_contents .con_img img{width: 100%;margin-bottom: 10px;}
#sub_contents .con_img a{width: 100%;margin-bottom: 10px;box-shadow: none;}
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#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-bot7tom: none;text-align: left;align-items: center;vertical-align: middle;}
#sub_contents .tbl_info .th p.ttl {font-weight: bold;line-height: 2em;}
#sub_contents .tbl_info .td {width: 100%;text-align: left;padding: 1em;border-bottom: 1px solid #111;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: 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;}

/* guide
-----------------------------*/
#sub_contents .sub_gu_ttl {line-height: 160%;display: block;border-left: solid 4px #111;}
#sub_contents .sub_gu_ttl p {font-size:18px;line-height: 160%;display: block;padding-left: 0.5em;}
#sub_contents .sub_gu_boxes {position: relative;width: 100%;}
#sub_contents .sub_gu_box {padding: 20px;width: 100%;text-align: center;margin-bottom: 20px;border: double 4px #111;}
#sub_contents .sub_gu_box:last-child {margin-bottom: 0;}
#sub_contents .sub_gu_box .img {width: 100%;height: 330px;position: relative;margin-bottom: 10px;}
#sub_contents .sub_gu_box .img img {width: 100%;height: 100%;object-fit: cover;}
#sub_contents .sub_gu_box .img img.sub_rank_icon {width: 60px;height: 60px;object-fit: cover;position: absolute;z-index: 1;top: 5px;right: 5px;filter: drop-shadow(2px 2px 5px #00000090)}
#sub_contents .sub_gu_box p.ttl {font-size: 16px;margin-bottom: 0.5em;line-height: 1.4;}
#sub_contents .sub_gu_box p.price {font-size: 16px;color: #111;margin-bottom: 2em;border-bottom: solid 1px #111;padding-bottom: 0.5em;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box {border: double 4px #111;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box p.ttl {font-size: 17px;margin-bottom: 0.5em;}

/* menu
----------------------------------- */
#sub_contents .menu__ul {width:100%;margin:0 auto 70px;}
#sub_contents .menu__ul .li {padding: 25px 10px;border-bottom: 1px solid #111111;}
#sub_contents .menu__ul .li .menu__text {width: 100%;margin-bottom: 0px;}
#sub_contents .menu__ul .li .menu__point {display:inline-block;background:#aaa;color:#fff;padding:2px 10px;margin-right:10px;font-size:13px;}
#sub_contents .menu__ul .li .menu__title {font-size: 15px;margin: 10px 0;position: relative;padding-left: 1rem;line-height: 1.6;letter-spacing: 0.075em;display:block;}
#sub_contents .menu__ul .li .menu__title::before {content: "";position: absolute;width: 6px;height: 6px;background: #111111;border-radius: 50%;top: 9px;left: 0;}
#sub_contents .menu__ul .li .menu__p {font-size: 13px;letter-spacing: 0.075em;color:#111111;}
#sub_contents .menu__ul .li .menu__price {width: 100%;text-align: right;font-size: 15px;}

/* voice
----------------------------------- */
#sub_contents .sub_voice {border:4px double #111;padding:30px 20px;width:100%;margin-bottom:50px;}
#sub_contents .sub_voice .left{width:100%;text-align:center;border-bottom:1px solid #111;padding:0 0px 30px 0px;}
#sub_contents .sub_voice .left .num{font-size:14px;display:block;line-height:2.5;text-transform: capitalize;}
#sub_contents .sub_voice .left .ttl{font-size:16px;margin-bottom:20px;}
#sub_contents .sub_voice .left img{width:50%;margin:0 auto;}
#sub_contents .sub_voice .right{width:100%;padding:20px 10px;}
#sub_contents .sub_voice .right .span {display:inline-block;font-size:16px;padding-right:0px;line-height:2;}
#sub_contents .sub_voice .right .small {display:block;font-size:13px;margin-bottom:30px;margin-top:10px;}
#sub_contents .sub_voice .right .voice_p {padding:0px;line-height: 2em;}

/* recruit
----------------------------------- */
#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: #111;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: 15px;margin-bottom: 20px;}
#sub_contents .r_flow .li p.ex {margin-top: 0px;font-size: 14px;padding: 1.5em;border: solid 1px #111;}
#sub_contents .icon_boxes{width: 100%;position: relative;}
#sub_contents .icon_boxes .icon_box{padding: 40px 20px 30px;border: solid 1px #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: 10px;}
#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: center;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 10px;}
#sub_contents .icon_boxes .icon_box .img img{width: 70px;height: 70px;object-fit: cover;margin: 0 auto;}

@media screen and (min-width: 767px) {
/* main_visual
----------------------------------- */
#sub_visual {padding-top:100px; height:350px;position:relative;z-index:0;overflow: hidden;}
#sub_visual .img { height:350px; position: absolute; top: 0; width:100%;z-index:-1;text-align: center;}
#sub_visual .img img{width:100%;height:100%;object-fit: cover;object-position: center;margin: 0 auto;position:relative;text-align: center;}
#sub_visual .h1_container{max-width:1140px;width:94%;margin:0 auto;position:relative;text-align: center;}
#sub_visual .h1_container h1{font-size:50px; line-height: 100%;letter-spacing: 0.2em;text-transform: capitalize;margin-bottom: 10px;}
#sub_visual .h1_container .ttl{font-size:20px;line-height:100%;font-weight: normal;}

/* 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%;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 15px; position: relative;padding:0px 0px 50px 0;z-index:0;}
#sub_contents section{max-width: 94%; margin: 100px auto 80px;position: relative;}
#sub_contents .section{max-width: 94%; margin: 100px auto 80px;position: relative;}
#sub_contents .section.mt0{max-width: 94%; margin: 0px auto 80px;position: relative;}
#sub_contents .section_line {border:1px solid #e0e0e0;margin:100px 0;}
#sub_contents .sub_ttl {text-align:center;margin-top:50px;}
#sub_contents .sub_ttl h2{ text-align: center;font-size:20px; margin-bottom:10px; position: relative; line-height: 100%; padding-top: 25px;letter-spacing: 0.08em;font-weight: normal; scroll-margin-top: 150px;text-transform: capitalize;}
#sub_contents .sub_ttl h2:before{position: absolute;content: "";background: url(../images/sub_h2_icon.png) no-repeat center center / cover ;width:30px;height:30px;top: -10%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);z-index: 1;}
#sub_contents .sub_ttl .span{font-size:13px; display: block;margin-bottom:0px;}
#sub_contents .txt_cen{ text-align: center; font-size:19px; line-height: 200%;}
#sub_contents .txt_cen em{ display:inline;font-style:normal;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .tcen{text-align:center;}
#sub_contents .mb10{margin-bottom: 10px;}
#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 .sub_bg{background: url(../images/sub_bg.png) no-repeat top center / cover ; background-size: cover; padding: 10px 0px 20px 0;}
#sub_contents .link_area a{padding:5px;}
#sub_contents .sp_br{display:inline-block;}

/* 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.w50{width: 100%;}
#sub_contents .anker__item a:hover{opacity:.8;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;font-weight: 500;border-radius: 9999px;}

/* concept
-----------------------------*/
#sub_contents .box_greeting_com{padding: 10px;background-attachment: fixed; }
#sub_contents .box_greeting_com .inner{padding: 30px 30px; position: relative;margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting_com .inner p.content{font-size:16px; font-weight: normal;line-height: 230%;display: inline-block;}
#sub_contents .box_greeting_com .inner p.ttl{font-size:26px; font-weight: normal;line-height: 200%;display: block;}
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox.sub_guide {padding: 30px 40px;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;text-align: center;}
#sub_contents .comm_textBox .img img{margin: 0 auto;width: 80%;}
#sub_contents .comm_textBox.sub_staff img{box-shadow: 10px 10px #111111cc;margin-bottom: 20px;}
#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 {margin-bottom: 10px;font-weight: normal;font-size: 22px;}
#sub_contents .comm_textBox .textarea p.ttl.pro {margin-bottom: 0px}
#sub_contents .comm_textBox .textarea p.price {text-align: right;padding: 5px 1em;font-size: 18px;width: 100%;}
#sub_contents .comm_textBox .textarea p.number {font-size: 18px;text-transform: capitalize;font-weight: normal;}
#sub_contents .comm_textBox .textarea p.role {font-size: 13px;padding: 3px 2em;}
#sub_contents .check_area {width: 100%;padding: 0px;border: none;}
#sub_contents .check_area {width: 100%;padding: 0px;border: none;}
#sub_contents .check_area .sub_check { padding-left: 30px;display: block;position: relative;margin-bottom: 7px;font-size: 14px;margin-right: 10px;}
#sub_contents .check_area .sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check.png) no-repeat;background-size: contain;}
#sub_contents .check_area {width: 100%;padding: 20px 20px;border: 1px solid #111;}
#sub_contents .check_area .catch {font-size: 16px;margin-bottom: 10px;font-weight: bold;}
#sub_contents .check_area .span { padding-left: 30px;display: inline-block;position: relative;margin-bottom: 7px;font-size: 14px;margin-right: 10px;}
#sub_contents .check_area .span::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check.png) no-repeat;background-size: contain;}

/* guide
-----------------------------*/
#sub_contents .sub_gu_ttl {line-height: 160%;display: block;}
#sub_contents .sub_gu_ttl p {font-size:24px;line-height: 160%;display: block;}
#sub_contents .sub_gu_boxes {width: 100%;gap: 2%;position: relative;row-gap: 20px;}
#sub_contents .sub_gu_box {padding: 20px;width: 31%;text-align: center;margin-bottom: 0;}
#sub_contents .sub_gu_box .img {width: 100%;height: 250px;position: relative;}
#sub_contents .sub_gu_box .img img {width: 100%;height: 100%;object-fit: cover;}
#sub_contents .sub_gu_box .img img.sub_rank_icon {width: 70px;height: 70px;object-fit: cover;position: absolute;z-index: 1;}
#sub_contents .sub_gu_box p.ttl {font-size: 20px;margin-bottom: 0.5em;}
#sub_contents .sub_gu_box p.price {font-size: 18px;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box {padding: 30px;width: 48%;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box .img {height: 350px;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box p.ttl {font-size: 18px;margin-bottom: 0.5em;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box p.ex {text-align: left;}

/* about
-----------------------------*/
#sub_contents .con_img img{width: 49%;}
#sub_contents .con_img.w30 a {width: 31%;}
#sub_contents .con_img.w30 a img{width: 100%;object-fit: cover;}
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: flex;align-items: center;position: relative;align-items: stretch;border-bottom: solid 1px #111;}
#sub_contents .tbl_info .tr:first-child {border-top: solid 1px #111;}
#sub_contents .tbl_info .th {width: 20%;padding: 20px;border-bottom: none;text-align: center;vertical-align: middle;}
#sub_contents .tbl_info .td {width: 80%;text-align: left;padding: 20px;border-bottom: none;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;display: inline-block;}
#sub_contents .tbl_info .td p.info.block {display: block;}

/* recruit
-----------------------------*/
#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:#111;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 #111;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: #111;border-radius: 50%;left: 195px;}
#sub_contents .r_flow .li .dl::after {width: 30%;border-bottom: 1px solid #111;position: absolute;left: 0px;}
#sub_contents .r_flow .li .dl .dt {font-size: 18px;margin-bottom: 1vh;}
#sub_contents .r_flow .li p {margin-top: 0px;}
#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;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .img img{width: 80px;height: 80px;object-fit: cover;margin: 0 auto;}

}

@media screen and (min-width: 1024px) {
/* main_visual
----------------------------------- */
#sub_visual {padding-top:180px; height:400px;position:relative;z-index:0;overflow: hidden;}
#sub_visual .img { height:400px; position: absolute; top: 0; width:100%;z-index:-1;text-align: center;}
#sub_visual .img img{width:100%;height:100%;object-fit: cover;object-position: center;margin: 0 auto;position:relative;text-align: center;}
#sub_visual .h1_container{margin:0 auto;position:relative;color:#fff; width:400px;}
#sub_visual .h1_container h1{font-size:40px; line-height: 100%;letter-spacing: 0.2em;text-transform: capitalize;margin-bottom: 10px;}
#sub_visual .h1_container .ttl{font-size:24px;line-height:100%;font-weight: normal;}

/* 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%;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;padding:0px 0px 50px 0;z-index:0;}
#sub_contents.menu .section{margin: 50px auto 0px;}
#sub_contents.menu .section .tbl_menu.mb100{margin-bottom:0px;}
#sub_contents.menu .sub_bg{padding: 10px 0px 10px;}
#sub_contents .section{max-width: 1140px; margin: 70px auto 80px;position: relative;padding-bottom: 100px;width:94%;}
#sub_contents .sub_ttl {text-align:center;margin-top:50px;scroll-margin-top:150px;}
#sub_contents .sub_ttl h2{ text-align: center;font-size:30px; margin-bottom:10px; position: relative; line-height: 100%; padding-top: 25px;letter-spacing: 0.08em;font-weight: normal; scroll-margin-top: 150px;text-transform: capitalize;}
#sub_contents .sub_ttl h2:before{position: absolute;content: "";background: url(../images/sub_h2_icon.png) no-repeat center center / cover ;width:50px;height:50px;top: -10%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);z-index: 1;}
#sub_contents .sub_ttl .span{font-size:15px; display: block;margin-bottom:0px;}
#sub_contents .txt_cen{ text-align: center; font-size:19px; line-height: 200%;}
#sub_contents .txt_cen em{ display:inline;font-style:normal;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .tcen{text-align:center;}
#sub_contents .f13 {font-size:14px;}
#sub_contents .mb10{margin-bottom: 10px;}
#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 .sub_bg{background: url(../images/sub_bg.png) no-repeat top center / cover ; background-size: cover; padding: 10px 0px 20px 0;}

#sub_contents .link_area a{padding:5px;}

/* 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.w50{width: 48%;}
#sub_contents .anker__item a:hover{opacity:.8;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;font-weight: 500;border-radius: 9999px;}

/* concept
-----------------------------*/
#sub_contents .box_greeting_com{padding: 20px;background:url("../images/sub_con_img01.jpg")repeat center center;background-attachment: fixed;}
#sub_contents .box_greeting_com .inner{padding: 40px 40px; position: relative; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting_com .inner p.content{font-size:18px; font-weight: normal;line-height: 230%;display: inline-block;}
#sub_contents .box_greeting_com .inner p.ttl{font-size:26px; font-weight: normal;line-height: 200%;display: block;}
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox.sub_guide {padding: 30px 40px;}
#sub_contents .comm_textBox .img{width: 50%;margin-bottom: 0px;position:relative;}
#sub_contents .comm_textBox .img img{width: 100%;}
#sub_contents .comm_textBox .textarea {width: 45%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;font-size:16px;}
#sub_contents .comm_textBox .textarea p.ttl {margin-bottom: 20px;font-weight: normal;font-size: 22px;padding-bottom: 10px;}
#sub_contents .comm_textBox .textarea p.ttl.pro {margin-bottom: 0px}
#sub_contents .comm_textBox .textarea p.price {text-align: right;padding: 5px 1em;font-size: 18px;width: 100%;}
#sub_contents .comm_textBox .textarea p.number {font-size: 18px;text-transform: capitalize;font-weight: normal;}
#sub_contents .comm_textBox .textarea p.role {font-size: 12px;padding: 3px 2em;}
#sub_contents .check_area {width: 100%;padding: 0px;border: none;}
#sub_contents .check_area {width: 100%;padding: 0px;border: none;}
#sub_contents .check_area .sub_check { padding-left: 30px;display: block;position: relative;margin-bottom: 7px;font-size: 16px;margin-right: 10px;}
#sub_contents .check_area .sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check.png) no-repeat;background-size: contain;}
#sub_contents .check_area {width: 100%;padding: 30px 30px;border: 1px solid #111;}
#sub_contents .check_area .catch {font-size: 18px;margin-bottom: 10px;font-weight: bold;}
#sub_contents .check_area .span { padding-left: 30px;display: inline-block;position: relative;margin-bottom: 7px;font-size: 16px;margin-right: 10px;}
#sub_contents .check_area .span::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_check.png) no-repeat;background-size: contain;}

/* about
-----------------------------*/
#sub_contents .con_img img{width: 49%;}
#sub_contents .center_icon {width: 100%;text-align: center;position: relative;}
#sub_contents .center_icon img{width: 100px;text-align: center;margin: 0 auto;}
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: flex;align-items: center;position: relative;align-items: stretch;}
#sub_contents .tbl_info .th {width: 20%;padding: 20px;vertical-align: middle;}
#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;}

/* guide
-----------------------------*/
#sub_contents .sub_gu_ttl {line-height: 160%;display: block;}
#sub_contents .sub_gu_ttl p {font-size:24px;line-height: 160%;display: block;}
#sub_contents .sub_gu_boxes {width: 100%;gap: 2%;position: relative;row-gap: 20px;}
#sub_contents .sub_gu_box {padding: 40px;width: 31%;text-align: center;}
#sub_contents .sub_gu_box .img {width: 100%;height: 350px;position: relative;}
#sub_contents .sub_gu_box .img img {width: 100%;height: 100%;object-fit: cover;}
#sub_contents .sub_gu_box .img img.sub_rank_icon {width: 110px;height: 110px;object-fit: cover;position: absolute;z-index: 1;}
#sub_contents .sub_gu_box p.ttl {font-size:18px;margin-bottom: 0.5em;}
#sub_contents .sub_gu_box p.price {font-size: 18px;color: #111;}
#sub_contents .sub_gu_box p.ex {font-size:15px;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box {width: 48%;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box .img {height: 450px;}
#sub_contents .sub_gu_boxes.rank .sub_gu_box p.ttl {font-size: 22px;}
#sub_contents .style_area .img {width:31%;margin:10px;}
#sub_contents .sub-marker {text-align: center;position: relative;display: block;}
#sub_contents .sub-marker p {background: linear-gradient(transparent 70%, #111 70%);display: inline;text-align: center;font-size: 28px;}

/* menu
----------------------------------- */
#sub_contents .menu__ul {width:70%;margin:0 auto 100px;}
#sub_contents .menu__ul .li {padding: 25px 10px;}
#sub_contents .menu__ul .li .menu__text {width: 80%;margin-bottom: 0px;}
#sub_contents .menu__ul .li .menu__title {font-size: 18px;margin: 0px;position: relative;padding-left: 1.2rem;line-height: 1.6;letter-spacing: 0.075em;display:block;}
#sub_contents .menu__ul .li .menu__title::before {content: "";position: absolute;width: 6px;height: 6px;border-radius: 50%;top: 13px;left: 0;}
#sub_contents .menu__ul .li .menu__p {font-size: 14px;letter-spacing: 0.075em;}
#sub_contents .menu__ul .li .menu__price {width: 20%;text-align: right;font-size: 18px;}

/* voice
----------------------------------- */
#sub_contents .sub_voice {border:1px solid #111;padding:40px 30px;width:100%;margin-bottom:50px;}
#sub_contents .sub_voice .left{width:28%;text-align:center;border-right:1px solid #111;border-bottom:0px solid #111;padding:0 30px 0 10px;}
#sub_contents .sub_voice .left .num{font-size:18px;display:block;line-height:2.5;}
#sub_contents .sub_voice .left .ttl{font-size:20px;margin-bottom:20px;}
#sub_contents .sub_voice .left img{width:50%;margin:0 auto;}
#sub_contents .sub_voice .right{width:70%;padding:0 10px 0 30px;}
#sub_contents .sub_voice .right .span {display:inline-block;font-size:20px;padding-right:0px;line-height:2;font-family: "Zen Old Mincho", serif; font-weight:500;}
#sub_contents .sub_voice .right .small {display:block;font-size:14px;margin-bottom:30px;}
#sub_contents .sub_voice .right .voice_p {padding:20px;}

/* recruit
----------------------------------- */
#sub_contents .r_flow {width: 100%;padding-left: 120px;position: relative;}
#sub_contents .r_flow::before {content: "";width: 15px;height: 100%;background: #fff;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;background:#111;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 #111;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: #111;border-radius: 50%;left: 195px;}
#sub_contents .r_flow .li .dl::after {width: 22%;border-bottom: 1px solid #111;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;}
#sub_contents .icon_boxes{width: 100%;position: relative;gap: 2%;}
#sub_contents .icon_boxes .icon_box{padding: 60px 20px 50px;width: 48%;margin-bottom: 15px;position: relative;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 20px;color: #111;text-align: center;font-weight: bold;}
#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: 28px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 16px;color: #111;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .img img{width: 100px;height: 100px;object-fit: cover;margin: 0 auto;}
}

@media screen and (min-width: 1025px) {
  
#sub_contents .icon_boxes .icon_box{padding: 40px 20px 30px; width: 48%;margin-bottom: 20px;position: relative;}
/* 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;}
}