﻿.bg_color1 {background-color: #8acfde;}
.bg_color2 {background-color: #f6f6f6;}
.bg_color3 {background-color: #ed9c2c;}
.txt_color1 {color: #4fb6cd;}
.txt_color3 {color: #ed9c2c;}
.border_color1 {border-color: #8acfde;}
.border_color3 {border-color: #ed9c2c;}
.hvr_txt_color3:hover {color: #ed9c2c;}
.hvr_bg_color3:hover {background-color: #ed9c2c;}
.hvr_border_color3:hover {border-color: #ed9c2c;}
/* ----------　all　---------- */
/*html, body{overflow: auto}
.pp-section{position: static}
 */
.linkStyle{
	color:#ed9c2c;
}
.linkStyle:hover{
	color:#ed9c2c;
	opacity: 0.7;
	transition: all 0.5s;
}
body {
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
h1, h2, h3, h4, h5, h6{
    font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    -webkit-text-size-adjust: none;
}
.loading,header,.s_footer_copy{
    background: linear-gradient(to bottom right, #8acfde, #69a2de); 
}
.modal_bg{
        background-color: #ffffff;
}
.modal_txt_wrap h2,.modal_txt_wrap p{
    color:#4d4d4d ;
}
.sns_link li a{
        width: 40px;
}
footer #logo2{
    text-align: center;
}
/* ----------　TOP　---------- */

/* SVG画像 */
#main_img .svg{
        position: absolute;
    z-index: 2;
    bottom: 0;
    fill: #fff;
    max-width: 1100px;
        width: 100%;
        opacity: 0;
}
.section2 .svg{
    position: absolute;
    fill: #f6f6f6;
    bottom: 0;
    width: 70%;
}

.section4 .svg{
    position: absolute;
    top: 0;
    fill: #f6f6f6;
     width: 100%;
}
.section6 .svg{
    position: absolute;
    fill: #f6f6f6;
    width: 90%;
    top: 50%;
    transform: translateY(-50%);
}
/* moreボタン */
.more{
    text-align: center;
    cursor: pointer;
}
.more_box{
    display: inline-block;
    width: auto!important;
}
.more_box:before {
    content: '';
    background-image: url(Dup/img/line.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
    height: 30px;
    position: absolute;
    left: 0;
    bottom: -10px;
}
.more_box:hover{
    transition: 0.5s;
        letter-spacing: 6px;
}
/* TOPCMS　moreボタン */
.more_btn {
    text-align: center;
}
.more_btn a{
        display: inline-block;
    width: auto!important;
}
.more_btn a:hover{
    transition: 0.5s;
        letter-spacing: 6px;
}
.more_btn a:before{
        content: '';
    background-image: url(Dup/img/line.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
    height: 30px;
    position: absolute;
    left: 0;
    bottom: -10px;
}
.more_btn a span{
        padding-right: 5px;
}
.more_btn a i,.more_btn a:hover i{
        right: 0rem;
}
/* メインイメージ */
.catch{
    position: absolute;
        bottom: 10%;
    left: 5%;
    z-index: 3;
    width: 50%;
    max-width: 550px;
    transform: rotate(9deg);
}
/* イントロ */
#s_content1 .intro_box{
    width: 65%;
    margin-right: 0;
    padding: 50px 0;
}
/*#s_content1 .intro_dec{
        position: absolute;
    z-index: 1;
    left: 5%;
    width: 40%;
    top: 20%;
    max-width: 600px;
}*/
#s_content1{
    width: 90%;
    margin: auto;
    max-width: 1600px;
}
#s_content1 .intro_dec{
    width: 80%;
    max-width: 450px;
    margin-bottom: 50px;
}
#s_content1 .intro_box .intro_img{
        padding-right: 0;
    width: 100%!important;
    padding-top: 0px;
    overflow: hidden;
    position: relative;
    border-radius: 36% 44% 20% 37% / 58% 10% 2% 42%;
        max-width: 900px;
}
#s_content1 .intro_img a::before{
    display: none;
}
/* 
#s_content1 .intro_img2{
    position: absolute;
    bottom: 5%;
    left: 5%;
    width: 30%;
    max-width: 400px;
}*/
#s_content1 .intro_img2{
    width: 30%;
    max-width: 400px;
        height: 80vh;
    margin-left: 5%;
}
#s_content1 .intro_img2 img{
        object-fit: cover;
    font-family: 'object-fit: cover;';
    height: 80vh;
}
#s_content1 .intro_txt{
    height: 75.6px;
    overflow: hidden;
    width: 70%;
    margin: auto;
    margin-top: 50px;
    text-align: left;
    padding-left: 50px;
}
#s_content1 .more{
    margin-top: 20px;
    padding-left: 50px;
}

/* TOPCMS */
.cms_box .top_cms_title h2{
    position: relative;
}
.cms_box .top_cms_title h2:before {
    content: '';
    background-image: url(Dup/img/title_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    width: 50px;
    height: 30px;
    left: 50%;
    top: -30px;
    transform: translate(-50%,0);
}
.cms_box .cms_box_bg{
    display: none;
}
/* メニュー */
.section6 .cms_3-e,#cms_3-e .box_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.section6 .cms_3-e .cate_box,#cms_3-e .cate_box{
    width: 46%;
    background-color: #fff;
    border-radius: 5px;
    padding: 15px 10px;
    margin-right: 2%;
    margin-bottom: 20px;
}
.section6 .cate_box{
    width: 47%;
    background-color: #fafafa;
    border-radius: 5px;
    padding: 15px 10px;
    margin-right: 2%;
    margin-bottom: 20px;
}
.section6 .cms_3-e .cate_box:nth-child(2n) , #cms_3-e .cate_box:nth-child(2n) {
    margin-right: 0%;
}
.section9 .sf_contact .tb_back .svg1,.section9 .sf_contact .tb_back .svg2{
    display: none;
}


/* ----------　下層ページ　---------- */
#page_title .title_box{
        border-radius: 10px;
    box-shadow: 1px 2px 8px rgba(211, 222, 224,0.4);
    border: none;
}
#page_title .title_box p{
        color: #8acfde;
}
.cate_list li a{
    font-size: 15px;
}
/* 当スタジオについて */
#cms_2-a .cate_box {
    padding-bottom: 25px;
    margin-top: 25px;
}
#cms_2-a .box_title1 {
    padding-top: 0;
    position: relative;
    padding-bottom: 5px;
    margin-bottom: 15px;
}
#cms_2-a .box_title1:before {
    content: '';
    position: absolute;
    height: 2px;
    width: 50px;
    background-color: #8cd1df;
    bottom: 0;
    /* background-color: #ed9c2c; */
}
#cms_2-a .box_txt1 {
    padding-bottom: 0;
}
/* 初めての方へ */
.flow_type3 .cate{counter-reset: box;}
.flow_type3 .cate_box{counter-increment: box;}
.flow_type3 .box_item{padding-top: 60px;}
.flow_type3 .box_title1{z-index: 0}
.flow_type3 .box_title1::before, .flow_type3 .box_title1::after{
	position: absolute;
	content: "";
	display: block;
	pointer-events: none
}
.flow_type3 .box_title1::before {
	content: "0"counter(box);
	font-size: 86px;
	color: rgba(138, 207, 222 ,0.3);
	left: 0;
	top: -70px;
	z-index: -1;
}
.flow_type3 .box_title1::after{
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #222
}
/* よくある質問 */
.qa_type4{
    padding-left: 100px;
    padding-right: 100px;
}
#page6 .qa_type4{
    padding-left: 0px;
    padding-right: 0px;
}
.qa_type4 .cate_box{
	background-color: #f6f6f6;
	border-radius: 5px;
}
.qa_type4 .box_title1{
	cursor: pointer;
	letter-spacing: 0.5px;
	padding: 12px 36px 12px 62px;
	background-image: url(./Dup/img/faq_q.png);
	background-position: 10px 10px;
	background-repeat: no-repeat;
	background-size: 32px 32px;
}
.qa_type4 .box_title1:after{
	font-size: 20px;
	font-weight: bold;
	position: absolute;
	top: 5px;
	right: 10px;
	content: '\2b';
	display: inline-block;
	-webkit-transition: transform 0.4s;
	transition: transform 0.4s;
}
.qa_type4 .switch.dec.open .box_title1:after{
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
.qa_type4 .box_txt1 p{
	background-image: url(./Dup/img/faq_a.png);
	background-position: 6px 10px;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	padding: 10px 10px 10px 40px;
	position: relative;
}
.qa_type4 .box_txt1 p:before {
    content: "A.";
    position: absolute;
    left: 15px;
    top: 9px;
    color: #ed9c2c;
    border-radius: 5px 0 0 5px;
    font-weight: bold;
    font-size: 16px;
}


.qa_type4 .box_title1:empty{
	height: 24px;
}
.cms_5-c .box_title1::before {
    content: "Q";
    left: 0px;
    top:0;
    background-color: #ed9c2c;
    color: #fff;
    padding: 5px 13px;
    border-radius: 5px 0 0 5px;
}
.qa_type4 .dec{
        position: relative;
}
.qa_type4 .dec:before {
    content: " ";
    position: absolute;
    left: 42px;
    transform: translateY(-50%);
    top: 50%;
    width: 12px;
    height: 30px;
    background: linear-gradient(to bottom left, transparent 50% , #ed9c2c 50%) no-repeat top left / 100% 50%, linear-gradient(to top left,transparent 50%, #ed9c2c 50%) no-repeat bottom left/100% 50%;
}

/* お問い合わせ */
#page8 .phone_txt .box h4{
    width: 20%;
    margin-right: 3%;
}
#page8 .phone_txt .box p{
        width: 74%;
}
#page8 .banner_box{
        justify-content: space-between;
}
#page8 .banner{
    width: 32%;
    max-width: 300px;
}

/* ----------　IE　---------- */
@media all and (-ms-high-contrast: none){
  .sample{

  }
}

/* ----------　タブレット　---------- */
@media screen and (max-width: 768px){
/* メインイメージ */
.catch {
    width: 35%;
    bottom:12px;
    max-width: 500px;
}
#s_content1 .intro_img2 {
    height: 50%;
}
#s_content1 .intro_img2 img {
    height: 50%;
}
#s_content1 .intro_img2 {
    bottom: 10px;
    width: 100%;
        margin-left: 0%;
        height: auto;
}
#main_img .svg {
    width: 75%;
    bottom:-2px;
    z-index: 2;
}
.section2{
        padding-top: 60px;
            padding-bottom: 50px;
}
#s_content1 .intro_dec {
    top: 0%;
}
#s_content1 .intro_txt {
    width: 90%;
}
#s_content1 .intro_dec {
    margin-bottom: 20px;
}
.section2,.section4{
    position: relative;
}    
.section3 #s_content2 {
        margin-bottom: 0;
}
.section4{
        padding-top: 100px;
}
/* メニュー */
.section6 {
        position: relative;
}
.section6 .cms_3-e .cate_box, #cms_3-e .cate_box {
    width: 45%;
}   
.section6 .cms_3-e .cate_box .box_title2, #cms_3-e .cate_box .box_title2 {
    font-size: -webkit-calc(1rem + 6px);
    font-size: calc(1rem + 6px);
    border: none;
}
/* よくある質問 */
.qa_type4 {
    padding-left: 50px;
    padding-right: 50px;
}
/* お問い合わせ */
.section9 .sf_contact{
    width: 100%!important;
}
.section9 .sf_contact .tb_back{
    background: linear-gradient(to bottom right, #8acfde, #69a2de);
    padding: 110px 0;
    position: relative;
}
.section9 .sf_contact .tb_back .svg1{
    display: block;
    fill: #fff;
    top: -1px;
    position: absolute;
    width: 100%;
}
.section9 .sf_contact .tb_back .svg2{
    display: block;
    fill: #fff;
    bottom: -1px;
    position: absolute;
    width: 100%;
}
.section9 .sf_contact .tb_back .sf_contact_box{
        width: 83.33333%!important;
}
.section9 .sf_contact .txt_title{
        width: 83.33333%!important;
    margin: auto;
    margin-top: 20px;
}
}


/* ----------　スマホ　---------- */
@media screen and (max-width: 667px){
.sp_link {
    width: 45px;
    height: 45px;
    background-color: #fff;
    position: relative;
    font-size: 22px;
    border-radius: 50%;
}
.sp_link1{
    margin: 0 10px 0px 20px; 
}
.sp_link a{
    color: #6ba5de;
        position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.overlay {
    top: 77px;
}
/* メインイメージ */
#main_img .svg {
    width: 90%;
}
.catch {
    width: 65%;
    bottom: 15px;
    max-width: 350px;
}
.section2{
    padding-top: 50px;
    padding-bottom: 10px;
}
#s_content1 .intro_box {
    width: 90%;
    margin-right: 0;
    margin: auto;
    padding-bottom: 50px;
}
#s_content1 .intro_dec {
    top: 10px;
}
#s_content1 .intro_txt {
    width: 100%;
    margin: auto;
    margin-top: 0px;
    padding-left: 0px;
}
#s_content1 .more {
    margin-top: 20px;
    padding-left: 0px;
}

/* メニュー */
.section6 .cms_3-e .cate_box,#cms_3-e .cate_box {
    width: 100%;
    padding: 15px 10px!important;
    margin-bottom: 20px;
}
/* 初めての方へ */
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -50px
}
.flow_type3 .box_item {
    padding-top: 36px;
}
/* よくある質問 */
.qa_type4 {
    padding-left: 5px;
    padding-right: 5px;
}
.cms_5-c .box_title1::before {
    padding: 9px 13px;
}
.qa_type4 .dec:before {
    width: 5px;
    height: 20px;
    left: 40px;
}
/* お問い合わせ */
.section9 .sf_contact .tb_back {
    padding: 80px 0;
}   
#page8 .banner {
    width: 100%;
    margin: auto;
    margin-bottom: 20px;
}
#page8 .phone_wrap a{
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    padding-top: 10px;
    font-size: 12px;
}
#page8 .phone_wrap a span{
    font-size: 15px;
}
#page8 .phone_txt .box h4 {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 10px;
}
}