@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                  © Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
	font-size: 140%;
	-webkit-text-size-adjust: none;
	font-weight: 400;
}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0}
table {width: 100%}
p {margin: 0 0 35px;}
div > p:last-child{margin-bottom: 0}
*{box-sizing: border-box;outline: none;} 
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {background: none;font-size: 10px;line-height: 1.3em;}
body {color: #fff;background: #000;overflow-x: hidden;}
.inner {width:1200px;margin: 0 auto;}
.inner_big {width:1680px;margin: 0 auto;max-width: 100%}
#wrapper {min-width:1260px;overflow: hidden}
.none {display: none;}
a{text-decoration: none;color: #111;}
a:hover{color: #111;}
p,
dd,
dt,
li,
th,
td{line-height: 2em;letter-spacing: 0.075em}
/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
/*header{position: fixed;top: 0px;left: 0;background: #000;width: 100%;padding: 36px 0;z-index: 999;transition: .3s;right: 0;max-width: 1920px;margin: auto;}
header .w_header{display: flex;justify-content: space-between;align-items: center;padding: 0}
header .w_header p{margin: 0}
header .w_header #logo{width: 311px}
.w_header .header_mail a{width: 280px;height: 68px;display: flex;align-items: center;background: #fff;padding: 20px 40px;font-size: 20px;font-weight: 700}
.w_header .header_mail a:hover{opacity: 0.8}
.w_header .header_mail a .ic_header_mail{width: 45px;height: 30px;background: url(../images/ic_mail.png) center /cover no-repeat;margin-right: 18px}
header.active{padding: 10px 0;}*/
#btn_top{position:fixed;right: 15px;bottom: 135px;z-index: 9;cursor: pointer;display: none;}
#btn_top{box-sizing: border-box;margin-bottom: 0;display: flex;width: 50px;height: 50px;align-items: center;justify-content: center;background: #707070;transform: rotate(-90deg);border-radius: 5px;}
#btn_top:hover{opacity: 0.7;}
/*==========================================================================*/
/*                               ALL                                        */
/*==========================================================================*/
/* FONT PAGE  */
.en{font-family: 'Lato', sans-serif;}
body,.nts,.noto{font-family: 'Noto Sans JP', sans-serif;}
/* FIX FONT + PADDING */
.pdb30{padding: 0 0 30px}
.pdb50{padding: 0 0 50px;}
.pdb100{padding: 0 0 100px;}
.mgb0{margin-bottom: 0;}
.mgb30{margin-bottom: 30px;}
.mgb50{margin-bottom: 50px;}
.fs12{font-size: 12px;}
.fs16{font-size: 16px;}
.pad_sp{}
.mar_sp{}
.btn{text-align: center;display: block;margin:0 auto;}
.btn a{position: relative;text-align: center;color: #fff;width: 250px;height: 50px;background: #000;font-size: 18px;text-decoration: none;display: flex;justify-content: center;align-items: center;margin:0 auto;box-sizing: border-box;transition:  all ease 0.3s;}
.btn a:hover{opacity: .8}
/* Text Hide */
.text_split{overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;}
/* Scale IMG */
.scale_img{overflow:hidden;display:block;}
.scale_img img{-webkit-transition:0.3s ease-out;-moz-transition:0.3s ease-out;-o-transition:0.3s ease-out;transition:0.3s ease-out;-moz-transform:scale(1,1);-webkit-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);}
.scale_img:hover > img{-webkit-transition:0.3s ease-out;-moz-transition:0.3s ease-out;-o-transition:0.3s ease-out;transition:0.3s ease-out;-moz-transform:scale(1.1,1.1);-webkit-transform:scale(1.1,1.1);-o-transform:scale(1.1,1.1);-ms-transform:scale(1.1,1.1);transform:scale(1.1,1.1);}
/*Vertical TXT*/
.vertical_txt_all {-webkit-writing-mode: vertical-rl;-moz-writing-mode: vertical-rl;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;-webkit-text-orientation: mixed;-moz-text-orientation: mixed;-ms-text-orientation: mixed;text-orientation: mixed;}
.line_zone{position: absolute;width: 100%;height: 100%;display: flex;top: 0;z-index: -1}
.line_zone .line_main{position: absolute;height: 100%;border-right: 2px solid rgba(51,51,51,.7);top: 0}
.line_zone .line_main100{left: 90px}
.line_zone .line_main530{left: 520px}
.line_zone .line_main_center{left: calc(50% - 1px)}
.line_zone .line_main1390{left: 1380px}
.line_zone .line_main1820{left: 1810px}
/*==========================================================================*/
/*                               Main                                       */
/*==========================================================================*/
#main{position: relative;z-index: 2}
.ttl{}
.ttl h3{line-height: 0.6em;font-size: 216px;margin-bottom: 0px;font-weight: 700;letter-spacing: 0.01em;opacity: .2}
.ttl p{font-weight: 700;font-size: 50px;letter-spacing: 0.05em;line-height: 0.9em;}
.ttl_box{display: flex;justify-content: flex-end;}
/*SEC ULTIMATE*/
.sec_ultimate{padding-bottom: 5px;position: relative;padding-top: 138px;}
.sec_ultimate .inner_ultimate{display: flex;align-items: flex-end;justify-content: center;}
.inner_ultimate .ultimate_img{width: 1063px;flex-shrink: 0;position: relative;}
.inner_ultimate .ultimate_img:before{content: '';position: absolute;width: 75px;height: 625px;background: #000;left: 0;top: calc(50% - 625px/2)}
.inner_ultimate .ultimate_content{display: flex;margin-left: 195px;margin-right: -75px;padding-bottom: 35px}
.ultimate_content .vertical_txt{width: 50px;flex-shrink: 0;display: flex;justify-content: space-between;font-size: 16px;font-weight: 700;align-items: flex-end;letter-spacing: 0.15em;padding-top: 20px}
.ultimate_content .vertical_txt .ver_txt2{position: relative;padding-bottom: 15px;transition: .3s;}
.ultimate_content .vertical_txt .ver_txt2 a{color: #fff;}
.ultimate_content .vertical_txt .ver_txt2:hover{transform: translateY(10px);}
.ultimate_content .vertical_txt .ver_txt2:before{content: '';position: absolute;height: 45px;border-left: 2px solid #fff;left: 50%;top: calc(100% + 5px)}
.ultimate_content .ultimate_main{position: relative;z-index: 1;padding-left: 55px}
.ultimate_content .ultimate_main:before{content: '';position: absolute;background: url(../images/bg_scroll.png) top center /cover no-repeat;width: 300px;height: 252px;left: calc(50% - 100px);top: -50px;z-index: -1}
.ultimate_main h2{font-size: 90px;letter-spacing: 0.15em;font-weight: 700;line-height: 1.2em;margin-bottom: -5px}
.ultimate_main h2 span{letter-spacing: 0}
.ultimate_main p{font-size: 36px;font-weight: 700;letter-spacing: 0.01em;margin-bottom: 10px}
.ultimate_main .ultimate_items{width: 530px}
.ultimate_main .ultimate_items{padding-bottom: 110px;width: 530px;}
.ultimate_items ul{display: flex;justify-content: space-between;align-items: center;}
.ultimate_items ul:first-child{padding: 10px;border: 2px solid #fff}
.ultimate_items ul li{width: 200px;height: 55px;display: flex;align-items: center;justify-content: center;font-weight: 500;font-size: 18px;border: 2px solid #fff;padding-bottom: 3px}
.ultimate_items ul li.li_center{margin: 0 35px;position: relative;}
.ultimate_items ul li.li_center:before{content: '';position: absolute;width: 44px;height: 60px;left: -50px;top: calc(50% - 55px/2);background: url(../images/ic_x.png) center /cover no-repeat;}
.ultimate_items ul li.li_center:after{content: '';position: absolute;width: 44px;height: 60px;right: -45px;top: calc(50% - 55px/2);background: url(../images/ic_x.png) center /cover no-repeat;}
.ultimate_items ul.ultimate_items_bot{margin-top: 50px;position: relative;justify-content: center;}
.ultimate_items ul.ultimate_items_bot:before{content: '';position: absolute;width: 42px;height: 60px;left: calc(50% - 45px/2);top: -55px;background: url(../images/ic_x_big.png) center /cover no-repeat;}
.ultimate_items ul.ultimate_items_bot li{width: 200px}
/*SEC CONCEPT*/
.sec_concept{padding-bottom: 220px;position: relative;padding-top: 120px}
.sec_concept .ttl_box{position: relative;z-index: 2;}
.sec_concept .ttl{position: relative;}
.sec_concept .ttl p{padding-left: 20px}
.sec_concept .sec_content{margin-top: -111px}
.sec_concept .sec_content .content_box{display: flex;align-items: flex-end;}
.sec_concept .sec_content .content_bot{align-items: center;margin-top: 115px;position: relative;justify-content: flex-end;}
.sec_concept .sec_content .content_bot .content_bot_vertical{position: absolute;left: 200px;bottom: 0;opacity: .5;}
.sec_concept .content_box{min-height: 545px;}
.sec_concept .content_box .concept_img{width: 100%;}
.sec_concept .content_box .concept_content{width: 665px;flex-shrink: 0;}
.sec_concept .content_top .concept_content{padding-top: 165px;}
.sec_concept .content_top .concept_content{margin-left: calc(50% - 45px)}
.sec_concept .content_bot .concept_content{margin-right: calc(50% - 65px)}
.concept_content p{margin: 0}
.sec_concept .content_bot{position: relative;z-index: 1;}
.sec_concept .content_top{position: relative;z-index: 1;}
.sec_concept .sec_content .content_box::before{content: '';position: absolute;width: 960px;height: 100%;right: calc(50% - 960px);top: 0;background: url(../images/concept2.jpg) center /cover no-repeat;z-index: -1;}
.sec_concept .sec_content .content_top::before{background-image: url(../images/concept1.jpg);right: unset;left: calc(50% - 960px);}
.concept_content .concept_content_txt p{margin-bottom: 40px;font-size: 20px;letter-spacing: 0.05em;line-height: 2.11em;font-weight: 500}
.concept_content .concept_content_txt p:last-child{margin-bottom: 0}
/*SEC PLAN*/
.sec_plan{background: #fff;padding: 135px 0 260px;color: #000;position: relative;z-index: 1;}
.sec_plan:before{content: '';position: absolute;width: 1920px;max-width: 100%;height: 1875px;left: 0;bottom: -30px;background: url(../images/bg_plan.png);z-index: -1}
.sec_plan .vertical_plan{position: absolute;bottom: 250px;right: 200px;opacity: .5;}
.sec_plan .line_zone .line_main{border-color: rgba(51,51,51,0.05);}
.sec_plan .ttl_box{display: flex;justify-content: flex-end;margin-bottom: 65px}
.sec_plan .ttl p{
	margin-left: -140px;
	text-align: center;
}
.sec_plan .ttl h3{opacity: .1;}
.sec_plan .plan_inner{background: #000;padding-bottom: 15px}
.plan_inner .plan_tab ul{display: flex;}
.plan_tab ul li{width: 25%;position: relative;}
.plan_tab ul li:before{content: '';position: absolute;width: 20px;height: 20px;top: 10px;right: 10px;background: url(../images/ic_tab.png) center /cover no-repeat;}
.plan_tab ul li a{border: 1px solid #fff;height: 100px;display: flex;justify-content: center;align-items: center;text-align: center;font-weight: 500;font-size: 30px;letter-spacing: 0.05em;width: 100%;color: #fff;cursor: pointer;border-top: 0;transition: all ease .1s}
.plan_inner .plan_content{padding: 60px 50px 60px 50px;color: #fff}
.plan_inner .plan_content ul{display: grid;grid-template-columns: repeat(2,1fr);grid-gap: 95px 60px;}
.plan_content ul li .plan_item_ttl{font-weight: 700;font-size: 30px;letter-spacing: 0.1em;line-height: 1.2em;margin-bottom: 25px}
.plan_content ul li .plan_item_txt{font-size: 18px;letter-spacing: 0.05em;line-height: 2em;margin-bottom: 30px}
.plan_content ul li .plan_item_info{padding: 0 10px}
.plan_item_info .plan_info_price{font-size: 24px;font-weight: 500;letter-spacing: 0.05em;border-bottom: 1px solid #fff;text-align: center;padding-bottom: 10px;margin-bottom: 0}
.plan_item_info .plan_info_price span{font-weight: 700;font-size: 50px;line-height: 0.9em}
.plan_item_info .item_info{display: flex;justify-content: space-between;font-size: 24px;font-weight: 500;border-bottom: 1px solid #fff;padding: 15px 10px}
.plan_item_info .item_info:last-child{border: none;padding-top: 10px}
.plan_item_info .item_info p{margin: 0;letter-spacing: 0.1em;line-height: 1.8}
/*SEC SPECIFICATION*/
.sec_specification{padding: 130px 0 235px;position: relative;z-index: 1;}
.sec_specification .vertical_specification{position: absolute;top: 50%;left: 200px;transform: translateY(-27%);opacity: .5;}
.sec_specification:after{content: '';position: absolute;width: 1270px;height: 1360px;background: #fff;opacity: 0.15;left: 0;top: calc(50% - 1200px/2);z-index: -1}
.sec_specification .ttl{text-align: center;margin-bottom: 110px}
.spec_content ul{display: grid;grid-template-columns: repeat(2,1fr);grid-gap: 75px 50px;}
.spec_content ul li a{color: #fff}
.spec_content ul li .scale_img{width: 575px;display: block;}
.spec_content ul li p{font-size: 18px;letter-spacing: 0.05em;line-height: 2.15em;margin-bottom: 20px}
.spec_content ul li .spec_item_label {font-weight: 700;font-size: 30px;letter-spacing: 0.1em;line-height: 1.5em;margin-bottom: 20px;color: #fff}
/*SEC MODEL*/
.sec_model{background: #D5D5D5;padding: 125px 0 75px;position: relative;z-index: 1}
.sec_model .line_zone .line_main{border-color: rgba(51,51,51,0.1);}
.sec_model:before{content: '';position: absolute;width: 1200px;height: 140px;background: #fff;opacity: 0.15;top: -70px;right: 0}
.sec_model .ttl_box{position: relative;z-index: 2}
.sec_model .ttl p{margin-left: -38px;color: #000}
.sec_model .ttl h3{color: #000;opacity: 0.1}
.sec_model .sec_content .model_item{display: flex;align-items: flex-start;}
.sec_model .sec_content .model_item2{align-items: flex-end;margin-top: -180px}
.sec_model .sec_content .model_item2 .model_desc .model_desc_txt2{margin-left: 88px}
.model_item .model_desc{padding: 5px 45px 10px}
.model_item .model_img{width: 935px;flex-shrink: 0}
.model_item .model_desc{color: #000}
.model_item .model_desc p{font-size: 20px;letter-spacing: 0.05em;line-height: 2em;margin-bottom: 25px}
.model_item .model_desc .model_desc_ttl{font-weight: 700;font-size: 30px;letter-spacing: 0.1em;line-height: 1.5em;margin-bottom: 25px}
.model_item .model_desc .model_desc_ttl span{font-size: 24px}
.model_item .model_desc{padding-right: 310px}
.model_item .model_desc .btn{display: flex;justify-content: flex-end;}
.model_item .model_desc .btn a{margin: 0}
.sec_content_box1 .model_item2 .model_desc{padding-left: 289px}
.model_item2 .model_desc{padding-left: 190px;padding-right: 51px;padding-bottom: 5px}
.model_item2 .model_desc .btn a{margin: 0}
.sec_model .sec_content_box{position: relative;padding: 75px 0 50px;z-index: 1}
.sec_model .sec_content_box:before{content: '';position: absolute;width: 1700px;height: 100%;right: 0;bottom: 0;background: #fff;z-index: -1}
.sec_model .sec_content_box1:before{height: calc(100% + 160px - 50px)}
.sec_content_box1 .vertical_model{position: absolute;bottom: 0;left: 140px}
.sec_model .sec_content_box2{margin-top: 60px;padding-top: 50px}
.sec_model .sec_content_box2:before{right: unset;left: 0}
.sec_content_box2 .vertical_model{position: absolute;right: 135px;top: 0}
/*SEC VOICE*/
.sec_voice{padding: 135px 0 260px;position: relative;overflow: hidden;}
.sec_voice:before{content: '';position: absolute;width: 625px;height: 500px;border: 1px solid #fff;opacity: .4;left: 0;top: 375px;z-index: 1;border-left: none;}
.sec_voice:after{content: '';position: absolute;width: 645px;height: 500px;border: 1px solid #fff;opacity: .4;right: 0;bottom: 160px;z-index: 1}
.sec_voice .line_zone{left: -35px}
.sec_voice .ttl_box .ttl p{margin-left: -150px}
.sec_voice .voice_inner{width: 1500px;margin: auto;border: 1px solid rgba(255,255,255,.4);position: relative;max-width: 100%;padding: 50px;margin-top: 110px;background: #000;position: relative;}
.voice_inner .vertical_voice{position: absolute;left: 0px;bottom: 50px;opacity: .5}
/*.sec_voice .sec_content{margin-top: 55px}*/
.sec_voice .sec_content ul li{display: flex;position: relative;z-index: 2}
.sec_voice .sec_content ul li .voice_img{width: 600px;flex-shrink: 0;position: relative;}
.sec_voice .sec_content ul li:nth-child(2n){flex-direction: row-reverse;}
.sec_voice .sec_content ul li .voice_img::before{content: '';position: absolute;width: 26px;height: 79px;right: -1px;top: calc(50% - 79px/2);background: url(../images/voice_arrow_left.png) center /cover no-repeat;}
.sec_voice .sec_content ul li:nth-child(2n) .voice_img::before{left: -1px;right: unset;background-image: url(../images/voice_arrow_right.png);}
.sec_voice .sec_content ul li .voice_content{padding: 45px 45px 0 44px}
.sec_voice .sec_content ul li:nth-child(2n) .voice_content{padding: 45px 45px 0 40px}
.sec_voice .sec_content ul li:nth-child(3) .voice_content{padding: 60px 45px 0 44px}
.sec_voice .sec_content ul li:nth-child(2n) .voice_content .voice_content_ttl{text-align: right;}
.voice_content p{font-size: 18px;letter-spacing: 0.05em;}
.voice_content .voice_content_ttl{font-weight: 700;font-size: 30px;letter-spacing: 0.1em;margin-bottom: 5px}
/*SEC EXAMPLE*/
.sec_example{background: #fff;padding: 135px 0 175px;color: #000;position: relative;z-index: 1}
.sec_example .bg_example .vertical_example{position: absolute;right: 200px;bottom: 110px;opacity: .5;color: #fff}
.sec_example .line_zone .line_main{border-color: rgba(51,51,51,0.05);}
.sec_example .ttl h3{color: #000;opacity: .1}
.sec_example .ttl p{color: #000;margin-left: -90px;margin-top: -3px}
.sec_example .bg_example{padding-bottom: 45px;position: relative;z-index: 1;}
.sec_example .bg_example:before{content: '';position: absolute;width: 1700px;max-width: 100%;height: 764px;right: 0;bottom: 0;background: url(../images/bg_exam.jpg) center /cover no-repeat;z-index: -1;}
.sec_example .ttl_box{display: flex;justify-content: center;}
.sec_example .example_content{margin-top: 70px;}
.example_content ul{display: grid;grid-template-columns: repeat(3,1fr);grid-gap: 35px 15px}
.example_content ul li p{color: #fff;font-weight: 700;font-size: 22px;letter-spacing: 0.1em;text-align: center;margin-bottom: 25px}
/*SEC CONSULTATION*/
.sec_consultation{position: relative;padding: 130px 0 110px;}
.sec_consultation .vertical_consultation{position: absolute;left: 200px;top: 50%;transform: translateY(-31%);opacity: .5;color: #fff}
.sec_consultation .ttl{text-align: center;}
.sec_consultation .sec_content{margin-top: 162px}
.sec_consultation .sec_content ul li{display: flex;position: relative;z-index: 1;margin-bottom: 202px;align-items: flex-start;}
.sec_consultation .sec_content ul li:before{content: '';position: absolute;width: calc(100% - 100px);height: calc(100% + 100px);top: -50px;left: 100px;border: 1px solid #fff;z-index: -1}
.sec_consultation .sec_content ul li:after{content: '';position: absolute;height: 100px;bottom: -151px;left: 199px;border-left: 1px solid #fff;}
.sec_consultation .sec_content ul li:last-child:after{display: none;}
.sec_consultation .sec_content ul li .consu_img{width: 540px;flex-shrink: 0;position: relative;margin-bottom: 0}
.sec_consultation .sec_content ul li .consu_img span{position: absolute;right: -50px;bottom: -5px;color: #fff;opacity: .2;font-size: 80px;letter-spacing: 0.01em;font-weight: 700;}
.sec_consultation .sec_content ul li .consu_desc{padding: 0 30px 0 50px;}
.sec_consultation .sec_content ul li .btn{display: flex;justify-content: flex-end;margin-top: 14px;position: relative;}
.sec_consultation .sec_content ul li .btn a{background: #fff;color: #000;margin: 0}
.consu_desc .consu_ttl{display: flex;}
.consu_desc .consu_ttl p{font-weight: 700;font-size: 34px;letter-spacing: 0.1em;line-height: 1.6em;margin-bottom: 20px}
.consu_desc .consu_ttl p:last-child{margin-left: 11px;}
.consu_desc .consu_txt p{line-height: 2.1em;letter-spacing: 0.05em;font-size: 18px;margin-bottom: 0}
.consu_desc .consu_txt p.consu_txt_first{margin-bottom: 50px}
.consu_desc .consu_ttl2{margin-bottom: 35px}
.consu_desc .consu_ttl2 p{margin-bottom: 0}
/*SEC STUDIO*/
.sec_studio{background: #d5d5d5;position: relative;padding: 130px 0 250px;z-index: 1}
.sec_studio .ttl h3{text-align: center;opacity: .1;}
.sec_studio .ttl p{position: relative;left: -70px;}
.sec_studio .ttl h3,.sec_studio .ttl p{color: #000}
.sec_studio .line_zone .line_main{border-color: rgba(51,51,51,0.05);}
.sec_studio .studio_content{margin-top: 100px}
.sec_studio .studio_content .studio_item{background: #000;padding: 60px;margin-bottom: 30px;position: relative;}
.studio_item .vertical_studio{position: absolute;top: 50%;transform: translateY(-50%);right: -145px}
.studio_item:nth-child(2n) .vertical_studio{right: unset;left: -145px}
.studio_item .vertical_studio p{color: #000;opacity: .5}
.sec_studio .studio_content .studio_item:last-child{margin-bottom: 0}
.studio_item .studio_item_top{display: flex;}
.studio_item .studio_img{width: 517px;flex-shrink: 0}
.studio_item .studio_desc{padding-left: 60px}
.studio_item .studio_desc ul li .ic_studio_img{width: 32px;margin-right: 20px}
.studio_item .studio_desc ul li .ic_studio_img2{width: 38px}
.studio_item .studio_desc ul li{display: flex;}
.studio_item .studio_desc ul li p{font-size: 20px;letter-spacing: 0.06em;line-height: 2.5em;margin: 0}
.studio_item .studio_desc ul li a{font-size: 20px;letter-spacing: 0.06em;line-height: 2.5em;margin: 0;color: #fff;text-decoration: underline;}
.studio_item .studio_desc ul li.studio_desc_last ul{display: flex;}
.studio_item .studio_desc ul li.studio_desc_last ul li{margin-bottom: 0}
.studio_item .studio_desc ul li.studio_desc_last ul li:last-child{margin-left: 50px}
.studio_item .studio_desc .studio_desc_ttl{font-weight: 700;font-size: 32px;letter-spacing: 0.1em;line-height: 1.2em;position: relative;margin-bottom: 45px}
.studio_item .studio_desc .studio_desc_ttl:before{content: '';position: absolute;width: 80px;border-top: 2px solid #fff;left: 0;bottom: -25px}
.studio_item .studio_item_bot{margin-top: 40px;}
.studio_item .studio_item_bot iframe{width: 100%;height: 410px}
/*SEC FORM*/
.sec_form{background: #fff;}
.sec_form .form_title{background: #000;color: #fff;text-align: center;height: 150px;display: flex;justify-content: center;text-align: center;align-items: center;}
.sec_form .form_title p{font-weight: 700;font-size: 50px;letter-spacing: 0.05em;}
.sec_form .form_content{padding:50px 0 100px 0;}
.sec_form .form_link{text-align: center;margin-top: 50px}
.sec_form .form_link a{font-size: 20px;letter-spacing: 0.05em}
.sec_form .form_link a:hover{opacity: .8}
/*==========================================================================*/
/*                               Footer                                     */
/*==========================================================================*/
footer{z-index: 4;background: #000;height: 100px;display: flex;justify-content: center;align-items: center;text-align: center;}
footer address{color: #fff;font-size: 16px;letter-spacing: 0.05em;}
/*============================
2023/10/04 header調整
============================*/
header {
  position: fixed;
  width: 100%;
  height: 95px;
  top: 0;
  background-color: #393939;
  z-index: 1000;
}
header .inner {
	margin: 0 auto;
	max-width: 1480px;
	width: calc(100% - 20px);
	height: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
header #header_logo {
	position: relative;
	width: 20%;
	height: 100%;
    margin-bottom: 0;
}
header #header_logo a{
	height: 100%;
	width: calc(100% - 3rem - 10px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-left: 10px;
}
header #header_logo img{
	height: 50%;
	object-fit: contain;
	object-position: left;
}
@media screen and (max-width: 767px) {
	header #header_logo {
		width: 50%;
	}
	header #header_logo img{
		height: 60%;
	}	
}
/*----グローバルナビ----*/
.fixed #gn {
	width: 80%;
	z-index: 100;
}
#gn {
	width: 80%;
	max-width: 500px;
}
#gn > nav {
	position: relative;
	height: 100%;
}
#gn > nav > ul {
	display: flex;
	justify-content: space-between;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
	height: 100%;
}
#gn > nav > ul > li {
	position: relative;
	height: 100%;
	flex: 1;
    line-height: 1;
	transition: all 0.3s;
}
	#gn > nav > ul > li.footer {
		display: none;
	}
#gn > nav > ul > li:hover {
	background-color: #000;
}
#gn > nav > ul > li:first-of-type {
	
}
#gn > nav > ul > li > a {
	height: 100%;
	width: 100%;
	display:flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	transition: all 0.3s;
}
#gn > nav > ul > li > a:hover {
	
}
#gn > nav > ul > li > a span.en {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #989C9A;
	margin-bottom: 5px;
}
#gn > nav > ul > li > a span.jp {
  	font-size: 1.2rem;
	color: #fff;
	display: block;
}
#gn > nav > ul > li ul {
	position: absolute;
	top: 95px;
	z-index: 200;
	background: #fff;
	font-size: 1.4rem;
	width: 350px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.3s ease;
}
#gn > nav > ul > li.gn-about ul {
	left: 0;
}
#gn > nav > ul > li.gn-company ul {
	right: 0;
}
#gn > nav > ul > li ul li {
	border-bottom: 1px solid #ddd;
}
#gn > nav > ul > li:hover ul {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
#gn > nav > ul > li ul li:last-child {
	border: none;
}
#gn > nav > ul > li > ul li a {
	text-decoration: none;
	padding: 1.5rem 2rem;
	display: block;
	color: #333;
	text-align: left;
}
#gn > nav > ul > li > ul li a:hover {
	background-color: #000;
	color:#fff;
}
#gn > nav > ul > li > ul li a span.num{
	display: inline-block;
	width: 2.4em;
	height: 2.4em;
	line-height: 2.4em;
	border-radius: 50%;
	background-color: #800308;
	color:#fff;
	text-align: center;
	margin-right:5px;
	font-size: 0.8em;
}
#gn nav p.bn-gn-contact {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.6rem;
}
#gn nav p.bn-gn-contact a {
	background: #800000;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 56px;
	letter-spacing: 0.08em;
	width: 200px;
	height: 50px;
	display: block;
	border: 1px solid #800000;
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
}
.no-touch #gn nav p.bn-gn-contact a:hover {
	background: #fff;
	color: #800000;
	border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
	button.drawer-hamburger {
		display: block;
	}
	#gn {
		display: none;
	}
	.drawer-nav {
		top: 0px;
		position: fixed;
		width: 100%;
		left: 0;
		height: 100%;
		overflow: auto;
		z-index: 190;
		/*background: rgba(128, 0, 0, 0.95);*/
		background-color: #393939;
		transition: all 0.4s;
		transform: translateX(100%);
		opacity: 0
	}
	.active.drawer-nav {
		transition: all 0.8s;
		transform: translateX(0);
		opacity: 1
	}
}
@media (max-width: 1110px) {
	
	header#header{
		height: 70px;
	}
	header .inner {
		margin: 0 auto;
		width: calc(100% - 20px);
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	main{
		padding-top: 80px;
	}
}
@media (max-width: 750px) {
  	header#header{
		height: 70px;
	}
	header nav {
    display: none;
  	}
}
/*----ヘッダーその他要素----*/
.icon_menu {
	display: none;
}
#header ul.s_navi {
	position: absolute;
	top: 90px;
	left: 15px;
	font-size: 1.2rem;
	text-align: left;
}
#header ul.s_navi li {
	display: inline-block;
	width: 80px;
}
#header ul.s_navi li::before {
	content: "≫ ";
}
.fb_tel {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	top: 40px;
	right: 0;
}
#header dl:nth-child(-n + 2) {
	margin-right: 20px;
}
#header dl.h-tel {
	font-size: 1rem;
	text-align: left;
}
#header dl.h-tel dt {
	font-weight: bold;
	letter-spacing: 0.08em;
}
#header dl.h-tel dt p {
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	padding: 0;
	margin: 0;
}
#header dl.h-tel dt span {
	font-size: 1.4rem;
}
#header dl.h-tel dt a {
	color: #000;
	font-size: 1.8rem;
	text-decoration: none;
}
#header dl.h-tel dd {
	font-size: 0.9rem;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
	#header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 191;
	}
	#header #sitettl {
		top: 14px;
		left: 15px;
		margin: 0;
	}
	#header #sitettl img {
		width: 188px;
		height: auto;
	}
	#header ul.s_navi {
		display: none;
	}
	#header dl.h-tel {
		display: none;
	}
	.icon_menu {
		display: inline-block;
		width: 30px;
		overflow: hidden;
		text-align: center;
		top: 23px;
		padding: 0;
		right: 20px;
		position: fixed;
		z-index: 200;
	}
	.icon_menu span {
		display: block;
		background: #979c9a;
		width: 100%;
		height: 1px;
		position: relative;
		margin: 1px auto 22px;
	}
	.icon_menu span:after, .icon_menu span:before {
		content: "";
		left: 0;
		right: 0;
		position: absolute;
		height: 1px;
		width: 100%;
		background: #979c9a;
		-webkit-transition: all ease 0.3s;
		-moz-transition: all ease 0.3s;
		-ms-transition: all ease 0.3s;
		transition: all ease 0.3s;
	}
	.icon_menu.active span:after {
		transform: rotate(405deg);
		bottom: -9px;
	}
	.icon_menu.active span:before {
		transform: rotate(-45deg);
		top: 9px;
	}
	.icon_menu.active span {
		background: transparent;
		margin-top: 5px;
	}
	.icon_menu span:after {
		bottom: -22px;
	}
	.icon_menu span:before {
		top: 11px;
	}
}
/*==========================================================================
             ハンバーガーメニュー                                
==========================================================================*/
button.drawer-hamburger {
	display: none;
}
#menu-sp-box {
	padding: 70px 0 0;
	display: none;
}
#menu-sp-box a {
	text-decoration: none;
}
#menu-sp-box #gn-sp {
	margin: 10px;
}
#menu-sp-box #gn-sp ul {
	font-size: 1rem;
}
#menu-sp-box > #gn-sp > nav > ul > li {
	font-size: 1.4rem;
	margin-bottom: 10px;
}
#menu-sp-box > #gn-sp > nav > ul > li:last-child {
	border: none;
}
#menu-sp-box > #gn-sp > nav > ul > li > a {
	position: relative;
    padding: 20px 30px 20px 15px;
    display: block;
    background-color: #fff;
    color: #666;
    cursor: pointer;
}
#menu-sp-box > #gn-sp > nav > ul > li > span {
	background: #393939;
    padding: 10px 0 10px 15px;
    display: block;
    color: #ccc;
    font-size: 0.9em;
}
#menu-sp-box #gn-sp nav ul li a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	background: url(../images/icon_a_01.png) 0 0 no-repeat;
	background-size: 16px 16px;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	display: block;
}
#menu-sp-box #gn-sp nav ul li ul li a:after {
	right: 10px;
}
#menu-sp-box #gn-sp nav ul li ul {
	background: #fff;
	width: 100%;
	display: table;
	border-bottom: 1px dotted #ddd;
}
#menu-sp-box #gn-sp nav ul li ul:last-child {
	margin-bottom: 10px;
}
#menu-sp-box #gn-sp nav ul li ul:last-child {
	border: none;
}
#menu-sp-box #gn-sp nav ul li ul li {
	vertical-align: middle;
	width: 50%;
	display: table-cell;
	box-sizing: border-box;
}
#menu-sp-box #gn-sp nav ul li ul li:nth-child(odd) {
	border-right: 1px dotted #ddd;
}
#menu-sp-box #gn-sp nav ul li ul li a {
	position: relative;
	font-size: 0.94rem;
	padding: 15px 25px 15px 15px;
	display: block;
	color: #666;
}
#menu-sp-box #gn-sp nav ul li ul li.num a {
	position: relative;
	font-size: 0.94rem;
	padding: 15px 25px 15px calc(20px + 2.4em);
	display: block;
	color: #666;
}
#menu-sp-box #gn-sp nav ul li ul li.num a span.num{
	width: 2.4em;
	height: 2.4em;
	border-radius: 50%;
	color:#fff;
	text-align: center;
	line-height: 2.4em;
	background-color: #800308;
	display: inline-block;
	position: absolute;
	left: 15px;
	top: calc(50% - 1.2em);
}
#menu-sp-box #gn-sp nav ul li span.new{
	display: inline-block;
    background-color: #800308;
    color: #fff;
    border-radius: 5px;
    padding: 0 0.5em;
    line-height: 2.4rem;
    margin: 0 10px 0 0;
    position: static;
    width: auto;
    height: auto;
}
#menu-sp-box ul.gn-contact {
	font-size: 1rem;
	width: calc(100% - 10px);
	display: flex;
	margin: 0 5px 0;
}
#menu-sp-box ul.gn-contact li {
	font-size: 0.9rem;
	width: calc(100%/3 - 10px);
	margin: 0 5px;
    line-height: 1em;
}
#menu-sp-box ul.gn-contact li a {
	background-color: #fff;
	color: #666;
	text-align: center;
	text-decoration: none;
	padding: 20px 0 ;
	display: block;
	height: 100%;
}
#menu-sp-box ul.gn-contact li a i{
	display: block;
    color: #800308;
    font-size: 2em;
    margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
	#menu-sp-box {
		display: block;
	}
	#wrapper {
		min-width: 100%;
	}
	.ph {
		text-align: center;
	}
	.ph .sp {
		margin: 0 auto;
	}
}
/* side-btn */
ul.side-btn {
	position: fixed;
	width: 60px;
	top: 50%;
	right: 0;
	z-index: 104;
	background: #fff;
	transform: translateY(-50%);
}
.side-btn li {
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
	color: #000;
	position: relative;
}
.side-btn li a {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	height: 230px;
	align-items: center;
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
}
.side-btn li a i{
	margin-bottom: 1rem;
	font-size: 2em;
}
.side-btn li a > span {
	margin: 0 auto;
	display: block;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.3;
	-ms-writing-mode: tb-rl;
	/* new syntax */
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	letter-spacing: 0.3rem;
	position: relative;
	/*padding-top: 22px;*/
}
.side-btn li:last-child a > span > span,
.side-btn li:hover:last-child a > span > span {
	background: none;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
}
.side-btn li:first-child {
	background: #800000;
	border: 1px solid #800000;
}
.side-btn li:nth-child(2) {
	background: #000;
	border: 1px solid #000;
}
.side-btn li:nth-child(3) {
	background: #979c9a;
	border: 1px solid #979c9a;
}
.side-btn li img.new_icon{
	position: absolute;
	width: 35px;
	height: auto;
	left: -25px;
	top: 10px;
}
@media screen and (min-width: 767px) {
	.side-btn li:nth-child(2):hover {
		background: #fff;
		color: #000;
		border: 1px solid #000;
	}
	.side-btn li:first-child:hover {
		background: #fff;
		border: 1px solid #800000;
	}
	.side-btn li:first-child:hover a {
		color: #800000 !important;
	}
	.side-btn li:nth-child(2):hover a {
		color: #000;
	}
	.side-btn li:nth-child(3):hover {
		background: #fff;
		color: #000;
		border: 1px solid #000;
	}
	.side-btn li:nth-child(3):hover a {
		color: #000;
	}
}
/*==========================================================================
 追記：2023/10/07　お問い合わせブロックに来場特典ブロック追加                               
==========================================================================*/
.post_content {
    margin: 50px auto 0;
    padding: 8rem;
    max-width: 1480px;
    width: calc(100% - 20px);
    height: auto;
    color: #393939;
    background: #E6E6E6;
}
@media screen and (max-width: 1000px) {
.post_content {
    margin: 50px auto 0;
    padding: 4rem;
}
}
@media screen and (max-width: 460px) {
.post_content {
    padding: 2rem;
}
  .post_content p{  
      text-align: left!important;
    }
}
.post_content img {
    max-width: 100%;
}
.post_content p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 3rem;
}