@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html {
  font-size: 62.5%;
}

body{
  background: #fff;
  color: #000;
  font-size: 1.6rem;
  font-size: 16px;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight:400;
  font-style: normal;
  font-feature-settings: "palt" 1;
  position: relative;
}

.sp{
    display: none;
}

img {
  height: auto;
  max-width: 100%;
  width:100%;
}

h2.img{
    margin: 0 auto;
    text-align: center;
    margin-bottom: 50px;
}

h2.img img{
    height: 51px;
    width: auto;
    margin-bottom: 15px;
}

h2.img p.jp{
    font-size: 30px;
    font-weight: 700;
}

h3.img{
    margin: 0 auto;
    text-align: center;
    margin-bottom: 15px;
}

h3.img img{
    height: 34px;
    width: auto;
    margin-bottom: 9px;
}

h3.img p.jp{
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}


.txt{
   line-height: 1.85;    
}

.txt .bold{
    color: #ff5301;
    font-weight: 700;
}

/*main*/
main{
    position: relative;
	top:65px;
}


/*header*/
header{
    position: absolute;
    top: 40px;
    z-index: 2;
    width: 100%;
}

header .header_inner{
    padding: 0 40px;
    display: flex;
    align-items: center;
    width: 100%;
    gap:23px;
}

header .header_inner .logo{
    width: 265px;
}

header .header_inner .txt{
    letter-spacing: 0.1em;
    font-size: 24px;
    color: #fff;
    font-weight: 700;
}

/*scrollArea*/
.scrollArea{
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.scrollArea.active{
  opacity: 1;
  visibility: visible;
}

.scrollArea.absolute{
  position: absolute;
    bottom: 50px;
}

.scrollArea > div{
    text-align: center;
}

.scrollArea > div + div{
    margin-top: 20px;
}

.scrollArea > div a{
    transition: all 0.2s ease 0s;
	transform:translate(0, 0);
}

.scrollArea > div a:hover{
	transform:translate(0, 4px);
}

.scrollArea .anchor_contact a{
    padding: 45px 0;
    writing-mode: vertical-rl;
    font-feature-settings: 'pkna';
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    border-radius: 10px 0 0 10px;
    width: 60px;
    background: rgb(255,178,0);
    background: linear-gradient(180deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%); 
    display: flex;
    align-items: center;
}

.scrollArea .anchor_pagetop a{
    padding: 22px 0;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    border-radius: 10px 0 0 10px;
    background: #000;
    width: 60px;
    display: block;
}

.scrollArea .anchor_pagetop a span{
    padding-top: 20px;
    background: url("../img/arrow_top.png") no-repeat center top;
    background-size: 16px auto;
    display: block;
}


/*mainvisual*/
#mainvisual{
    position: relative;
    margin-bottom: -200px;
    padding: 0 50px 100px;
}

#mainvisual:before{
    content: " ";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/mainvisual_bg_pc.jpg") no-repeat center top;
    background-size: cover;
    clip-path:polygon(0 0, 100% 0, 100% calc(100% - 200px), 0 100%);
}

#mainvisual .mainvisual_inner{
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 170px;
    z-index: 2;
}

#mainvisual .mainvisual_txt{
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.25;    
    color: #fff;
}

#mainvisual .mainvisual_txt h1{
    font-size: 80px;
    margin-bottom: 30px;
}

#mainvisual .mainvisual_txt h1 span{
    font-size: 65px;
}

#mainvisual .mainvisual_txt p{
    font-size: 34px;
}

#mainvisual .mainvisual_img{
    max-width: 518px;
    margin-top: -80px;
    float: right;
    margin-bottom: 30px;
}

#mainvisual .btn{
    text-align: center;
    clear: both;
}

#mainvisual .btn .btn_copy{
    font-weight: 700;
    font-size: 22px;
    color: #fff;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#mainvisual .btn .btn_copy::before,
#mainvisual .btn .btn_copy::after {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #fff;
  margin: 2px 10px;
    display: block;
}
 
#mainvisual .btn .btn_copy::before {
  transform: rotate(55deg);
}
 
#mainvisual .btn .btn_copy::after {
  transform: rotate(-55deg);
}
 
#mainvisual .btn .btn_copy .bold{
    color: #ffad00;
    font-size: 26px;
}

#mainvisual .btn div{
    max-width: 1000px;
    margin: 0 auto;
}

#mainvisual .btn div a{
    border-radius: 10px;
    display: block;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%); 
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    padding: 23px 30px;
    box-shadow: 0 6px 0 #ad4919;
    transition: all 0.2s ease 0s;
    position: relative;
}

#mainvisual .btn div a:after{
    content: "";
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    right: 30px;
    top: calc(50% - 8.5px);
    width: 17px;
    height: 17px;
    border: 2px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);    
}

#mainvisual .btn div a:hover{
	box-shadow:none;
	transform:translate(0, 4px);
}

#mainvisual .btn a span.border{
    border: 1px solid #fff;
    font-size: 26px;
    padding: 10px 15px;
    margin-right: 20px;
    display: inline-block;
}

/*introBl*/
#introBl{    
    padding: 200px 50px 260px;
    clip-path:polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
    background: #ffad00;
}

#introBl .introBl_inner{    
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
}

#introBl .introBl_inner .fontL_line{
    position: relative;
    font-size: 26px;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 30px;
}

#introBl .introBl_inner .fontL_line:before{
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    display: block;
    width: 100%;
    height: 3px;
    background: #000;
}

#introBl .introBl_inner .intro_copy{
    font-size: 40px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
}

#introBl .introBl_inner .intro_copy .fontS{
    font-size: 26px;
}

#introBl .introBl_inner .intro_copy .bg{
    background: #000;
    color: #fff;
    display: inline-table;
    padding: 5px 10px 7px;
    line-height: 1;
}

#introBl .introBl_inner .notice{
    font-size: 14px;
    line-height: 1.45;
}


/*aboutBl*/
#aboutBl{    
    position: relative;
    margin: -200px 0 0 0 ;
    padding: 0 50px;
}

#aboutBl:before{    
    content: " ";
    width: 100%;
    height: calc(100% + 70px);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/black_bg.png") no-repeat center top;    
    clip-path:polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
}
    
#aboutBl .aboutBl_inner{    
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;    
    background: url("../img/about_bg.png") no-repeat center center #fff;
    background-size: 727.5px auto;
    padding: 100px 50px;
    text-align: center;
    
}

#aboutBl .aboutBl_inner:before{
    content: "";
    height:10px ;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);    
}

#aboutBl .aboutBl_inner:after{    
    content: "";
    height:10px ;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);    
}

#aboutBl .aboutBl_inner h2.img{
    margin-bottom: 25px;
}

#aboutBl .aboutBl_inner h2.img img{
    height: 70px;
    margin-bottom: 0;
}

#aboutBl .aboutBl_inner .about_copy{
    font-size: 36px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.25;
    display: inline-block;
    background: url("../img/doubleline_x.svg") repeat-x left bottom;
    background-size: auto 8px;
    padding-bottom: 25px;
    margin: 40px 0;
}

#aboutBl .aboutBl_inner ul{
    display: flex;
    justify-content: center;
    align-items:stretch;
    text-align: center;
    gap:20px;
    margin: 30px 0;
}

#aboutBl .aboutBl_inner ul li{
    color: #fff;
    width: 320px;
    padding: 15px 0;
    font-size: 20px;
    font-weight: 700;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%); 
    display: flex;
    align-items: center;
    justify-content: center;    
}

#aboutBl .aboutBl_inner .fontL{
    font-weight: 700;
    font-size: 26px;
}

#aboutBl .aboutBl_inner .txt{
    margin-top: 30px;
    font-size: 20px;
    font-weight: 700;
}

#aboutBl .aboutBl_inner .bold{
    position: relative;
    font-size: 26px;
    background: linear-gradient(transparent 93%, #ff5301 0%);
    padding-bottom: 4px;
}


/*pointBl*/
#pointBl{    
    position: relative;
    padding: 100px 50px 0;
    overflow-x:hidden;
    background: url("../img/point_bg.png") no-repeat right 560px;
    background-size: 500px auto;
}

#pointBl .pointBl_inner{    
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;    
}

#pointBl .point_list{ 
}

#pointBl .point_list > div{
    clear: both;
    position: relative;
    margin-bottom: 100px;
}

#pointBl .point_txt{
    background: url("../img/doubleline_y.svg") repeat-y left top;
    background-size:13px auto;
    padding: 45px 0 45px 50px;
    flex: 1;
}

#pointBl .point_vol{
    margin-bottom: 15px;
}

#pointBl .point_vol img{
    height: 42.5px;
    width: auto;
}

#pointBl .point_ttl{
    font-size: 36px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

#pointBl .point01{
    padding-left: 37.5%;
}

#pointBl .point01 .img02{
    position: absolute;
    top: 75px;
    left: 0;
    width: 34.166666666%;
}

#pointBl .point01 .img02:before{
    content: "";
    position: absolute;
    right: -90px;
    top: 65px;
    width: 600px;
    height: 600px;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);
    z-index: -1;
}

#pointBl .point01 .img02:after{
    content: "";
    position: absolute;
    right: 0;
    top: 65px;
    width: 1200px;
    height: 600px;
    background: rgb(255,178,0);
    z-index: -2;
}

#pointBl .point01 .point_txt{
    margin-left: 27px;
}

#pointBl .point01 .point_vol img{
    height: 50.5px;
    width: auto;
}

#pointBl .flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    gap:60px;
}

#pointBl .point02 .flex{
    margin-bottom: 50px;
}

#pointBl .point02 .img01{
    width: 45.833333333%;
}

#pointBl .point02_subcontents{
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);
    padding: 10px;    
    gap:10px;
    display: flex;
}

#pointBl .point02_subcontents div{
    width: 100%;
    background: #fff;
    padding: 30px 40px;
}

#pointBl .point02_subcontents p{
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 15px;
}

#pointBl .point02_subcontents ul li{
    line-height: 1.8;
    padding-left: .5em;
    text-indent: -.5em;    
}

#pointBl .point02_subcontents ul li:before{
    content: "• ";
}

#pointBl .point03{
    margin-bottom: 0 !important;
}

#pointBl .point03 .slider{
    position: relative;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow: hidden;
}

#pointBl .point03 .slider .slick-slide{
    width: 550px !important;
    margin: 0 15px;
}

#pointBl .point03 .slider:before{
    content: " ";
    width: 100%;
    display: block;
    height: 300px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);    
    left: 0;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);    
}


/*reaspmBl*/
#reasonBl{    
    position: relative;
    padding: 340px 50px 155px;
}

#reasonBl:after{ 
    content: "　";
    display: block;
    position: absolute;
    right: 0;
    top:0;
    width: calc(100% - 50px);
    height: 100%;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);
    z-index: -1;
    clip-path:polygon(0 200px, 100% 0, 100% 100%, 0 100%);
}

#reasonBl:before{ 
    content: "　";
    display: block;
    position: absolute;
    top: 90px;
    right: 0;
    width: 100%;
    height: 98%;
    background: url("../img/black_bg.png") no-repeat left top;
    background-size: cover;
    clip-path:polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
}

#reasonBl h2{    
    margin-bottom: 20px;
}

#reasonBl .copy{    
    text-align: center;
    max-width: 1027px;
    margin: 0 auto 50px auto;
}

#reasonBl .reasonBl_inner{
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;    
}

#reasonBl .whiteBg{
    background: #fff;
    padding: 70px;
}

#reasonBl .flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap:60px;
}

#reasonBl .flex + .flex{
    margin-top: 50px;
    padding-top: 50px;
    border-top: 1px solid #cccccc;
}

#reasonBl .flex .reason_txt{
    flex: 1;
}

#reasonBl .flex .reason_txt .reason_vol{
    margin-bottom: 15px;
}

#reasonBl .flex .reason_txt .reason_vol img{
    width: auto;
    height: 34px;
}

#reasonBl .flex.reason01 .reason_txt .reason_vol img{
    width: auto;
    height: 34px;
}

#reasonBl .flex .reason_txt .reason_ttl{
    font-size: 36px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 20px;
}

#reasonBl .flex .reason_img{
    width: 37.735849056%;
}

/*staffBl*/
#staffBl{
    padding: 100px 50px;
    background: url("../img/staff_bg.png") no-repeat right top;
    background-size: 500px auto;
}

#staffBl .staffBl_inner{
    max-width: 1200px;
    margin: 0 auto;
}

#staffBl h2{
    font-size: 40px;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

#staffBl .manager{
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);    
    padding: 25px 10px 10px 10px;
}

#staffBl .trainer{
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);    
    padding: 25px 10px 10px 10px;
    margin-top: 20px;
}

#staffBl .manager_inner,
#staffBl .trainer_inner{
    background: #fff;
}

#staffBl .trainer_inner + .trainer_inner{
    margin-top: 10px;
}

#staffBl .manager_pic,
#staffBl .trainer_pic{
    width: 32.758620689%;
    float: left;
    margin-right: 50px;
    margin-bottom: 30px;
}

#staffBl .manager_txt,
#staffBl .trainer_txt{
    padding: 60px;
}

#staffBl .manager_txt dt,
#staffBl .trainer_txt dt{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.47;
}

#staffBl .manager_txt dd + dt,
#staffBl .trainer_txt dd + dt{
    margin-top: 30px;
}

#staffBl .manager_txt dd,
#staffBl .trainer_txt dd{
    display: flex;
}

/*voiceBl*/
#voiceBl{
    padding: 100px 50px 100px;
    background: #ffad00;
}

#voiceBl .voiceBl_inner{
    max-width: 1200px;
    margin: 0 auto;
}

#voiceBl h2.img{
    margin-bottom: 90px;
}

#voiceBl .owner{
    position: relative;
    background: #fff;
    border-top: 10px solid #000;
    margin-left: 50px;
}

#voiceBl .owner_inner{
    padding: 40px 50px 45px 50px;
}

#voiceBl .owner + .owner{
    margin-top: 90px;
}

#voiceBl .owner .owner_pic{
    width: 30.434782608%;
    margin: -100px 50px 100px -100px;
    float: left;
}

#voiceBl .owner_txt .owner_income{
    margin-bottom: 15px;
}

#voiceBl .owner_txt .owner_income img{
    margin: 0 10px;
    vertical-align: text-bottom;
    height: 59px;
    width: auto;
}

#voiceBl .owner_txt .txt{
    margin-bottom: 15px;
}

#voiceBl .owner_txt .owner_income span,
#voiceBl .owner_txt .owner_txt_name span{
    font-size: 24px;
    font-weight: 700;
}


/*flowBl*/
#flowBl{
    padding: 100px 50px 75px;
}

#flowBl .flowBl_inner{
    max-width: 1200px;
    margin: 0 auto;
}

#flowBl .flow_step{
    display: flex;
    gap:50px;
}

#flowBl .flow_step .flow_step_img{
    width: 170px;
}

#flowBl .flow_step_list{
    flex: 1;
}

#flowBl .flow_step .flow_step_list > div{
    display: flex;
    gap:40px;
    margin-bottom: 50px;
}

#flowBl .flow_step .flow_step_list > div:last-child{
    margin-bottom: 0;
}

#flowBl .flow_step .flow_step_list .flow_step_number{
    width: 60px;
}

#flowBl .flow_step .flow_step_list dl{
    flex: 1;
}

#flowBl .flow_step .flow_step_list dl dt{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
}

#flowBl .flow_step .flow_step_list dl dd{
    line-height: 1.85;
}

/*faqBl*/
#faqBl{
    background: #f3f3f3;
    padding: 100px 50px;
}

#faqBl .faqBl_inner{
    max-width: 1200px;
    margin: 0 auto;
}

#faqBl .faq_list{
}

#faqBl .faq_list dl{
    background: #fff;
    border-left: 6px solid #000;
    padding: 30px 25px;
}

#faqBl .faq_list dl + dl{
    margin-top: 20px;
}

#faqBl .faq_list dt{
    position: relative;
    padding: 0 40px 0 60px;
    font-size: 22px;
    font-weight: 700;
    min-height: 50px;
    display: flex;
    align-items: center;
    background: url("../img/faq_icn_open.png") no-repeat right center;
    background-size: 20px auto;
    cursor: pointer;
    line-height: 1.45;
}

#faqBl .faq_list .open dt{
    background: url("../img/faq_icn_close.png") no-repeat right center;
    background-size: 20px auto;
}

#faqBl .faq_list dd{
    margin-top: 30px;
    position: relative;
    padding: 0 0 0 70px;
    line-height: 1.85;
    display: none;
}

#faqBl .faq_list dl dt:before{
    content: "　";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 27px;
    height: 50px;
    background: url("../img/faq_icn_q.svg") no-repeat left center;
    background-size: 27px auto;
}

#faqBl .faq_list dl dd:before{
    content: "　";
    position: absolute;
    top: 5px;
    left: 0;
    display: block;
    width: 27px;
    height: 55px;
    background: url("../img/faq_icn_a.svg") no-repeat left top;
    background-size: 27px auto;
}

/*contact*/
#contactBl{
    padding: 100px 50px;
}

#contactBl .contactBl_inner{
    max-width: 1000px;
    margin: 0 auto;
}

#contactBl .sub_copy{
    font-weight: 700;
    font-size: 22px;
    color: #000;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    display: flex;
  justify-content: center;
  align-items: center;
  position: relative;    
}

#contactBl .sub_copy::before,
#contactBl .sub_copy::after {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #000;
  margin: 2px 10px;
    display: block;
}
 
#contactBl .sub_copy::before {
  transform: rotate(55deg);
}
 
#contactBl .sub_copy::after {
  transform: rotate(-55deg);
}
 
#contactBl .sub_copy .bold{
    color: #ff5301;
    font-size: 26px;
}

#contactBl h2{
    font-size: 50px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
}

#contactBl h2 .bg{
    font-size: 26px;
    padding: 10px 15px;
    margin: 0 20px 5px 0;
    display: inline-block;
    color: #fff;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);
    vertical-align: middle;
}

#contactBl .txt{
    margin-bottom: 45px;
}

#contactBl dl{
    margin-bottom: 45px;
}

#contactBl dl dt{
    font-size: 18px;
    font-weight: 700;
}

#contactBl dl dt.required:after{
    content: "必須";
    color: #fff;
    font-size: 13px;
    background: #ff5301;
    line-height: 1;
    margin-left: 10px;
    padding: 0 5px 1px;
    vertical-align: middle;
}

#contactBl dl dd{
    margin-top: 15px;
    display: flex;
    align-items: center;
}

#contactBl dl dd + dt{
    margin-top: 30px;
}

#contactBl input::placeholder ,
#contactBl textarea::placeholder {
    color: #cccccc;
}

#contactBl textarea {
    background: #fff;
    border: 1px solid #cccccc;
    padding: 20px ;
    width: 100%;
    line-height: 1.47;
    height: 200px;
}

#contactBl input[type="text"],
#contactBl input[type="tel"],
#contactBl input[type="email"]{
    background: #fff;
    border: 1px solid #cccccc;
    padding: 20px ;
    width: 100%;
}

input[type="checkbox"] {
  position: relative;
  width: 30px;
  height: 30px;
  border:1px solid #cccccc;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
    margin-right: 10px;
}

span + input[type="checkbox"] {
    margin-left: 30px;
}


input[type="checkbox"]:checked:before {
  position: absolute;
  top: 5px;
  left: 10px;
  transform: rotate(50deg);
  width: 7px;
  height: 15px;
  border-right: 2px solid #ff5301;
  border-bottom: 2px solid #ff5301;
  content: '';
}

#contactBl select {
    background: #fff;
    border: 1px solid #cccccc;
    padding: 20px ;
    width: 300px;
/*    color: #cccccc;*/
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;    
}

#contactBl .select_arrow {
    position: relative;
    width: 300px;
}

#contactBl .select_arrow:after {
    content: "";
    position: absolute;
    right: 16px;
    top:50%;
    display: inline-block;
    vertical-align: middle;
    color: #000;
    line-height: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width:6px;
    border-top-color: currentColor;
    border-bottom: 0;
}

#contactBl dl + p {
    text-align: center;
    margin-bottom: 30px;
}

#contactBl dl + p a{
    color: #ff5301;
    text-decoration: underline;
}

#contactBl dl + p a:hover{
    text-decoration: none;
}


#contactBl dl + p a:hover{
    text-decoration: none;
}

#contactBl dd.zip input{
    width: 300px;
    margin-right: 20px;
}

#contactBl dd.zip:before{
    content: "〒";
    margin-right: 10px;
}

#contactBl dd.zip button{
    background: #000;
    border-radius: 3px;
    text-align: center;
    color: #cccccc;
    font-weight: 700;
    margin-right: 10px;
    font-size: 14px;
    padding: 10px 20px;
    transition: all 0.2s ease 0s;
}

#contactBl dd.zip .fontS{
    font-size: 14px;
}

#contactBl button.buttonSubmit{
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);
    color: #fff;
    width: 450px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 20px 0;
    border-radius: 5px;
    margin: 0 auto;
    display: block;
    transition: all 0.2s ease 0s;
}


#contactBl button:hover{
    opacity: 0.7;
}

#contactBl .formError {
    margin-top: 15px !important;
}

#contactBl dd.materials .formError {
    margin-top: 0 !important;
}

#contactBl .formError .formErrorArrow div{
    box-shadow: none;
    border: none;    
}

#contactBl .formErrorContent{
    box-shadow: none;
    border: none;
}

#contactBl .formError .formErrorArrow .line1,
#contactBl .formError .formErrorArrow .line2{
    display: none !important;
}

/*footer*/
/*footer{
    background: #000;
    padding: 50px 0 30px;
	
}*/

footer　.footer_inner{
    max-width: 1200px;
    margin: 0 auto;
}

footer .logo{
    width: 265px;
    margin: 0 auto 35px;
}

footer .copy{
    color: #fff;
    font-size: 14px;
    text-align: center;
}
.site-footer{z-index: 1!important;}


/*
 thanksページ
*/

body.thanksPage:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 10px;
    background: rgb(255,178,0);
    background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%);
    display: table-cell;    
}

body.thanksPage #message{
    text-align: center;
    padding: 185px 50px 67px;
}

body.thanksPage #message .message_inner{
    max-width: 1200px;
    margin: 0 auto;
}

body.thanksPage #message .logo{
    width: 235px;
    margin: 0 auto 75px;
}

body.thanksPage #message h1{
    font-size: 24px;
    color: #ff8400;
    margin-bottom: 80px;
}

body.thanksPage #message h1 + p + p{
    margin-bottom: 60px;
}

body.thanksPage #message h1 + p + p + p{
    margin-bottom: 30px;
}

body.thanksPage .message_slider{
    display: flex;
    justify-content: center;
    gap:30px;
    margin: 50px auto 65px;
}

body.thanksPage .message_slider img{
    width: 350px;
}

body.thanksPage .pageback a{
    color: #fff;
    border: 2px solid #ff5801;
    background:#ff5801;
    border-radius: 12px;
    width: 175px;
    padding: 11px 0;
    display: inline-block;
    transition: all 0.2s ease 0s;
}

body.thanksPage .pageback a:hover{
    color: #ff5801;
    border: 2px solid #ff5801;
    background:#fff;
}
@media screen and (max-width: 1840px) {
main{
    position: relative;
	top:70px;
}
}
@media screen and (max-width: 1240px) {
    
    .scrollArea .anchor_contact a,
    .scrollArea .anchor_pagetop a{
        width: 45px;
    }
    
    #mainvisual::before {
        background: url("../img/mainvisual_bg_pc.jpg") no-repeat 80% top;
        background-size: cover;
    }
    
    #mainvisual .mainvisual_img {
        margin: 10px auto;
        float: inherit;
    }

    #voiceBl .owner .owner_pic{
        margin: -100px 30px 30px -100px;
    }    
}

@media screen and (max-width: 768px) {

    body{
        font-size:  calc(26 / 750 * 100vw);
    }

    .pc{
        display: none !important;
    }
    
    .sp{
        display: inline-block;
    }
    
    h2.img{
        margin-bottom: calc(50vw / 7.5);
    }

    h2.img img{
        height: calc(50vw / 7.5);
        margin-bottom: calc(15vw / 7.5);
    }

    h2.img p.jp{
        font-size:  calc(30 / 750 * 100vw);
    }

    h3.img{
        margin-bottom: calc(15vw / 7.5);
    }

    h3.img img{
        height: calc(34vw / 7.5);
        margin-bottom: calc(10vw / 7.5);
    }

    h3.img p.jp{
        font-size:  calc(26 / 750 * 100vw);
    }


    .txt{
       line-height: 1.85;    
    }

    .txt .bold{
        color: #ff5301;
        font-weight: 700;
    }


    /*scrollArea*/
    .scrollArea{
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 5;
        opacity: 0;
        visibility: hidden;
        transition: .3s;
        display: flex;
        width: 100%;
        align-items: center;
        border-top: 1px solid #FFF;
    }
    
    .scrollArea.active{
      opacity: 1;
      visibility: visible;
    }

    .scrollArea.absolute{
        position: inherit;
        bottom: 0;
    }

    .scrollArea > div{
        display: table;
    }

    .scrollArea > div + div{
        margin-top: 0;
    }

    .scrollArea .anchor_contact{
        width:calc(560vw / 7.5);
    }
    
    .scrollArea .anchor_pagetop{
        width:calc(100% - calc(560vw / 7.5));
    }

    .scrollArea .anchor_contact a{
        padding: 0;
        height:calc(100vw / 7.5);
        writing-mode:horizontal-tb;
        font-size:  calc(28 / 750 * 100vw);
        border-radius: 0;
        width: inherit;
        background: rgb(255,178,0);
        background: linear-gradient(90deg, rgba(255,178,0,1) 0%, rgba(255,112,0,1) 50%, rgba(255,83,1,1) 100%); 
        display: table-cell;
        vertical-align: middle;
    }

    .scrollArea .anchor_pagetop a{
        padding: 0;
        height:calc(100vw / 7.5);
        font-size:  calc(20 / 750 * 100vw);
        border-radius: 0;
        display: table-cell;
        vertical-align: middle;
    }

    .scrollArea .anchor_pagetop a span{
        padding-top:calc(25vw / 7.5);
        background: url("../img/arrow_top.png") no-repeat center top;
        background-size: calc(16vw / 7.5) auto;
    }
    
    .scrollArea > div a:hover{
	transform:translate(0, 0);
}

    /*header*/
    header{
        top: calc(38vw / 7.5);
    }

    header .header_inner{
        padding: 0  5.333333333%;
        gap:20px;
    }

    header .header_inner .logo{
        width:  calc(265vw / 7.5);
    }

    header .header_inner .txt{
        font-size:calc(24 / 750 * 100vw);
    }
 

    /*mainvisual*/
    #mainvisual{
        margin-bottom:calc(-110vw / 7.5);
        padding: 0 5.333333333% calc(30vw / 7.5);
    }

    #mainvisual:before{
        background: url("../img/mainvisual_bg_sp.jpg") no-repeat center top;
        background-size: cover;
        clip-path:polygon(0 0, 100% 0, 100% calc(100% - calc(110vw / 7.5)), 0 100%);
    }

    #mainvisual .mainvisual_inner{
        padding-top: calc(135vw / 7.5);
    }

    #mainvisual .mainvisual_txt{
        line-height: 1.25;    
        padding-left:  calc(30vw / 7.5);
        margin-bottom: calc(40vw / 7.5);
    }

    #mainvisual .mainvisual_txt h1{
        font-size:calc(88 / 750 * 100vw);
        margin-bottom: calc(20vw / 7.5);
    }

    #mainvisual .mainvisual_txt h1 span{
        font-size: calc(70 / 750 * 100vw);
    }

    #mainvisual .mainvisual_txt p{
        font-size: calc(36 / 750 * 100vw);
    }

    #mainvisual .mainvisual_img{
        max-width: inherit;
        width: 97.313432835%;
        margin: 0 auto calc(30vw / 7.5);
        float: inherit;
    }

    #mainvisual .btn{
        width: 97.313432835%;
        margin: 0 auto;
    }
        

    #mainvisual .btn .btn_copy{
        font-size: calc(24 / 750 * 100vw);
        margin-bottom: calc(20vw / 7.5);
    }

    #mainvisual .btn .btn_copy::before,
    #mainvisual .btn .btn_copy::after {
      width:calc(45vw / 7.5);
      margin: 0 -10px;
      width: 25%;
    }

    #mainvisual .btn .btn_copy .bold{
        font-size: calc(30 / 750 * 100vw);
    }

    #mainvisual .btn div a{
        border-radius: 3px;
        font-size:calc(36 / 750 * 100vw);
        padding: calc(15vw / 7.5) 0 calc(20vw / 7.5) 0;
        box-shadow: 0 6px 0 #ad4919;
    }
    
    #mainvisual .btn div a:after{
        right:  calc(20vw / 7.5);
    }
    
    #mainvisual .btn a span.border{
        font-size: calc(30 / 750 * 100vw);
        padding: 3px 23px 5px;
        margin: 0 auto calc(15vw / 7.5) auto;
    }

    /*introBl*/
    #introBl{    
        padding: calc(170vw / 7.5) 5.333333333% calc(200vw / 7.5);
        clip-path:polygon(0 calc(110vw / 7.5), 100% 0, 100% calc(100% - calc(110vw / 7.5)), 0 100%);
    }

    #introBl .introBl_inner .fontL_line{
        font-size: calc(32 / 750 * 100vw);
        margin-bottom: calc(40vw / 7.5);
    }

    #introBl .introBl_inner .fontL_line:before{
        bottom: -10px;
        border-bottom-width: 4px;
    }

    #introBl .introBl_inner .intro_copy{
        font-size:calc(50 / 750 * 100vw);
        line-height: 1.45;
        margin-bottom: calc(20vw / 7.5);
    }

    #introBl .introBl_inner .intro_copy .fontS{
        font-size: calc(30 / 750 * 100vw);
    }

    #introBl .introBl_inner .intro_copy .bg{
        padding: 3px 10px 8px;
    }

    #introBl .introBl_inner .notice{
        font-size: calc(17.5 / 750 * 100vw);
    }    


    /*aboutBl*/
    #aboutBl{    
        margin: calc(-125vw / 7.5)0 0 0 ;
        padding: 0 5.333333333%;
    }

    #aboutBl:before{    
        content: " ";
        width: 100%;
        height: calc(100% + 70px);
        clip-path:polygon(0 calc(110vw / 7.5), 100% 0, 100% calc(100% - calc(110vw / 7.5)), 0 100%);
    }

    #aboutBl .aboutBl_inner{    
        background: url("../img/about_bg.png") no-repeat center calc(130vw / 7.5) #fff;
        background-size: calc(600vw / 7.5) auto;
        padding: calc(100vw / 7.5) calc(40vw / 7.5) calc(85vw / 7.5);
    }

    #aboutBl .aboutBl_inner:before,
    #aboutBl .aboutBl_inner:after{
        height:calc(10vw / 7.5) ;
    }

    #aboutBl .aboutBl_inner h2.img{
        margin-bottom: calc(25vw / 7.5) auto;
    }

    #aboutBl .aboutBl_inner h2.img img{
        height: auto;
        width: calc(550vw / 7.5);
        margin-bottom: 0;
    }

    #aboutBl .aboutBl_inner .about_copy{
        font-size: calc(44 / 750 * 100vw);
        background: url("../img/doubleline_x.svg") repeat-x left bottom;
        background-size: auto calc(8vw / 7.5);
        padding-bottom:calc(15vw / 7.5);
        margin:calc(30vw / 7.5) 0;
        line-height: 1.47;    
    }

    #aboutBl .aboutBl_inner ul{
        display: block;
        margin: calc(25vw / 7.5) auto;
    }

    #aboutBl .aboutBl_inner ul li{
        width: 100%;
        padding: calc(25vw / 7.5) 0;
        font-size: calc(28 / 750 * 100vw);
        display: block;
    }

    #aboutBl .aboutBl_inner ul li + li{
         margin-top:calc(10vw / 7.5);
    }

    #aboutBl .aboutBl_inner .fontL{
        font-size: calc(28 / 750 * 100vw);
    }

    #aboutBl .aboutBl_inner .txt{
        margin-top: calc(30vw / 7.5);
        font-size: calc(24 / 750 * 100vw);
    }

    #aboutBl .aboutBl_inner .bold{
        font-size:calc(30 / 750 * 100vw);
    }


    /*pointBl*/
    #pointBl{    
        padding:  calc(100vw / 7.5) 5.333333333% 0;
        background: none;
    }

    #pointBl .point_list > div{
        margin-bottom: calc(100vw / 7.5);
    }

    #pointBl .point_txt{
        background: url("../img/doubleline_y.svg") repeat-y left top;
        background-size:calc(13vw / 7.5) auto;
        padding:calc(60vw / 7.5) 0 calc(60vw / 7.5) calc(50vw / 7.5);
        flex: 1;
    }

    #pointBl .point_vol{
        margin-bottom: calc(20vw / 7.5);
    }

    #pointBl .point_vol img{
        height: calc(65vw / 7.5);
        width: auto;
    }

    #pointBl .point_ttl{
        font-size:calc(46 / 750 * 100vw);
        margin-bottom: calc(25vw / 7.5);
        line-height: 1.47;
        letter-spacing: 0;
    }

    #pointBl .point01{
        padding-left: 0;
    }

    #pointBl .point01 .img02{
        position: inherit;
        top: inherit;
        left: inherit;
        width:calc(610vw / 7.5);
        margin-top: calc(-40vw / 7.5);
        margin-left: auto;
        margin-right: auto;
        margin-bottom: calc(40vw / 7.5);
    }

    #pointBl .point01 .img02:before{
        left: calc(-61.5vw / 7.5);
        top: calc(-53vw / 7.5);
        width:calc(600vw / 7.5);
        height: calc(600vw / 7.5);
    }

    #pointBl .point01 .img02:after{
        display: none;
    }

    #pointBl .point01 .point_txt{
        margin-left: 0;
    }

    #pointBl .point01 .point_vol img{
        max-width: inherit;
        height: calc(65vw / 7.5) !important;
    }

    #pointBl .flex{
        display: block;
    }

    #pointBl .point02 .flex{
        margin-bottom: calc(40vw / 7.5);
    }

    #pointBl .point02 .img01{
        width:100%;
    }

    #pointBl .point02_subcontents{
        display: block;
        padding: calc(10vw / 7.5) ;    
    }

    #pointBl .point02_subcontents div{
        padding: calc(30vw / 7.5)  calc(40vw / 7.5) ;
    }

    #pointBl .point02_subcontents div + div{
        margin-top: calc(10vw / 7.5);
    }

    #pointBl .point02_subcontents p{
        font-size: calc(34 / 750 * 100vw);
        margin-bottom: calc(20vw / 7.5);
    }

    #pointBl .point03 .slider .slick-slide{
        width:calc(670vw / 7.5)!important;
        margin: 0 calc(10vw / 7.5);
    }

    #pointBl .point03 .slider:before{
        height: calc(380vw / 7.5);
    }

    /*reaspmBl*/
    #reasonBl{    
        padding:  calc(245vw / 7.5) 5.333333333%  calc(180vw / 7.5);
    }

    #reasonBl:after{ 
        height: 98.4%;
        width: calc(100% - 6.666666666%);
        clip-path:polygon(0 calc(110vw / 7.5), 100% 0, 100% 100%, 0 100%);
    }

    #reasonBl:before{ 
        top: calc(95vw / 7.5);
        height: 98%;
        clip-path:polygon(0 calc(110vw / 7.5), 100% 0, 100% calc(100% - calc(110vw / 7.5)), 0 100%);
    }

    #reasonBl h2{    
        margin-bottom: calc(30vw / 7.5);
    }

    #reasonBl .copy{    
        width: calc(620vw / 7.5);
        margin: 0 auto calc(50vw / 7.5) auto;
    }

    #reasonBl .whiteBg{
        padding: calc(40vw / 7.5) calc(40vw / 7.5) calc(60vw / 7.5);
    }

    #reasonBl .flex{
        flex-wrap: wrap;
        gap:0;
    }

    #reasonBl .flex + .flex{
        margin-top: calc(60vw / 7.5);
        padding-top: calc(60vw / 7.5);
    }

    #reasonBl .flex .reason_txt{
        order: 1;
        width: 100%;
    }

    #reasonBl .flex .reason_txt .reason_vol{
        margin-bottom: calc(20vw / 7.5);
    }

    #reasonBl .flex .reason_txt .reason_vol img{
        max-width: inherit;
        height: calc(43vw / 7.5) !important;
    }

    #reasonBl .flex .reason_txt .reason_ttl{
        font-size:calc(46 / 750 * 100vw);
        margin-bottom: calc(25vw / 7.5);
        line-height: 1.47;
    }

    #reasonBl .flex .reason_img{
        width: 100%;
        margin-bottom:  calc(40vw / 7.5) !important;
    }

    /*staffBl*/
    #staffBl{
        padding: calc(100vw / 7.5) 5.333333333%;
        background: url("../img/staff_bg.png") no-repeat right top;
        background-size: calc(500vw / 7.5) auto;
    }

    #staffBl h2{
        font-size:calc(40 / 750 * 100vw);
        margin-bottom: calc(50vw / 7.5);
        letter-spacing: 0.1em;
    }

    #staffBl .manager{
        padding: calc(25vw / 7.5) calc(10vw / 7.5) calc(10vw / 7.5) calc(10vw / 7.5);
    }

    #staffBl .trainer{
        padding: calc(25vw / 7.5) calc(10vw / 7.5) calc(10vw / 7.5) calc(10vw / 7.5);
        margin-top: calc(40vw / 7.5);
    }

    #staffBl .trainer_inner + .trainer_inner{
        margin-top: calc(10vw / 7.5);
    }

    #staffBl .manager_pic,
    #staffBl .trainer_pic{
        width: 100%;
        float: inherit;
        margin-right: 0;
        margin-bottom: 0;
        background: #fff4e5;
        text-align: center;
    }

    #staffBl .manager_pic img,
    #staffBl .trainer_pic img{
        width: calc(380vw / 7.5);
    }    

    #staffBl .manager_txt,
    #staffBl .trainer_txt{
        padding:calc(50vw / 7.5)  calc(40vw / 7.5) ;
    }

    #staffBl .manager_txt dt,
    #staffBl .trainer_txt dt{
        font-size:  calc(34 / 750 * 100vw);
        margin-bottom:calc(20vw / 7.5);
    }

    #staffBl .manager_txt dd + dt,
    #staffBl .trainer_txt dd + dt{
        margin-top:calc(50vw / 7.5);
    }


    /*voiceBl*/
    #voiceBl{
        padding: calc(100vw / 7.5) 6.666666666%;
    }

    #voiceBl h2.img{
        margin-bottom:calc(90vw / 7.5);
    }

    #voiceBl .owner{
        border-top-width: calc(10vw / 7.5);
        margin-left: 0;
    }

    #voiceBl .owner_inner{
        padding: calc(350vw / 7.5) calc(40vw / 7.5)  calc(50vw / 7.5);
    }

    #voiceBl .owner + .owner{
        margin-top: calc(80vw / 7.5);
    }

    #voiceBl .owner .owner_pic{
        width: calc(350vw / 7.5);
        top: calc(-40vw / 7.5);
        left: 50%;
        transform: translateX(-50%);
        position: absolute;
        float: inherit;
        margin: 0 auto;
    }

    #voiceBl .owner_txt{
        width: auto;
        margin-left: auto;
    }

    #voiceBl .owner_txt .owner_income{
        margin-bottom:calc(20vw / 7.5);
    }

    #voiceBl .owner_txt .owner_income img{
        margin: 0 calc(8vw / 7.5);
        height: calc(68vw / 7.5);
    }

    #voiceBl .owner_txt .txt{
        margin-bottom: calc(30vw / 7.5);
    }

    #voiceBl .owner_txt .owner_income span{
        font-size:  calc(34 / 750 * 100vw);
    }

    #voiceBl .owner_txt .owner_txt_name span{
        font-size:  calc(36 / 750 * 100vw);
    }
    
    /*flowBl*/
    #flowBl{
        padding: calc(100vw / 7.5) 5.333333333%;
    }

    #flowBl .flow_step{
        gap:  calc(30vw / 7.5);
    }

    #flowBl .flow_step .flow_step_img{
        width: calc(130vw / 7.5);
    }

    #flowBl .flow_step .flow_step_list > div{
        display: flex;
        gap:calc(35vw / 7.5);
        margin-bottom: calc(30vw / 7.5);
    }

    #flowBl .flow_step .flow_step_list .flow_step_number{
        width: calc(60vw / 7.5);
    }

    #flowBl .flow_step .flow_step_list dl dt{
        font-size:  calc(30 / 750 * 100vw);
        margin-bottom: calc(20vw / 7.5);
    }

    #flowBl .flow_step .flow_step_list dl dd {
      line-height: 1.47;
    }  
    
    /*faqBl*/
    #faqBl{
        padding: calc(100vw / 7.5) 5.333333333%;
    }

    #faqBl .faq_list dl{
        border-left-width:calc(6vw / 7.5);
        padding: calc(40vw / 7.5);
    }

    #faqBl .faq_list dl + dl{
        margin-top:calc(40vw / 7.5);
    }

    #faqBl .faq_list dt{
        padding: 0 calc(65vw / 7.5);
        font-size:  calc(30 / 750 * 100vw);
    }
    
    #faqBl .faq_list dl dt::before {
      top: calc(50% - 25px);
    }
    

    #faqBl .faq_list dd{
        margin-top: calc(30vw / 7.5);
        padding: 0 0 0 calc(65vw / 7.5);;
    }
    
    

/*contact*/
#contactBl{
    padding: calc(100vw / 7.5) 5.333333333%;
}

#contactBl .sub_copy{
    font-size: calc(26 / 750 * 100vw);
    margin-bottom: calc(20vw / 7.5);
    text-align: center;
}

#contactBl .sub_copy::before,
#contactBl .sub_copy::after {
      width:calc(45vw / 7.5);
      margin: 0 -15px;
      width: 25%;
}
    
#contactBl .sub_copy::before {
  transform: rotate(65deg);
}
 
#contactBl .sub_copy::after {
  transform: rotate(-65deg);
}
    
#contactBl .sub_copy .bold{
        font-size: calc(33 / 750 * 100vw);
}

#contactBl h2{
    font-size: calc(54 / 750 * 100vw);
    margin-bottom: calc(30vw / 7.5);
}

#contactBl h2 .bg{
    display: block;
    font-size: calc(30 / 750 * 100vw);
    padding: 10px 15px;
    margin: 0 0 calc(20vw / 7.5) 0;
}

#contactBl .txt{
    margin-bottom:calc(50vw / 7.5);
}

#contactBl dl{
    margin-bottom:calc(50vw / 7.5);
}

#contactBl dl dt{
    font-size: calc(28 / 750 * 100vw);
}

#contactBl dl dt.required:after{
    font-size: calc(20 / 750 * 100vw);
}

#contactBl dl dd{
    margin-top: calc(25vw / 7.5);
}

#contactBl dl dd + dt{
     margin-top: calc(55vw / 7.5);
}


#contactBl textarea {
    padding: calc(20vw / 7.5) calc(25vw / 7.5);
    height:  calc(300vw / 7.5);
}

#contactBl input[type="text"] {
    padding: calc(20vw / 7.5) calc(25vw / 7.5);
}

input[type="checkbox"] {
  width: calc(80vw / 7.5);
  height: calc(80vw / 7.5);
}

input[type="checkbox"]:checked:before {
  top: 2vw;
  left: 3.5vw;
  width: 30%;
  height: 50%;
  border-right: 3px solid #ff5301;
  border-bottom: 3px solid #ff5301;
}

#contactBl select {
    padding:  calc(20vw / 7.5) calc(25vw / 7.5);
    width: 100%;
}

#contactBl .select_arrow {
    width: 100%;
}

#contactBl .select_arrow:after {
    right: calc(20vw / 7.5);
    border-width:calc(8vw / 7.5);
}

#contactBl dl + p {
    margin-bottom: calc(50vw / 7.5);
}


#contactBl dd.zip{
    flex-wrap: wrap;
    justify-content: flex-end;
}

#contactBl dd.zip input{
    width: calc(250vw / 7.5);
    margin-right: calc(20vw / 7.5);
}

#contactBl dd.zip:before{
    margin-right: calc(20vw / 7.5);
}

#contactBl dd.zip button{
    margin-right: 0;
    font-size: calc(26 / 750 * 100vw);
    padding:  calc(25vw / 7.5) ;
}

#contactBl dd.zip .fontS{
    display: block;
    text-align: right;
    font-size: calc(24 / 750 * 100vw);
    margin-top: calc(15vw / 7.5);
    
}

#contactBl button.buttonSubmit{
    width: calc(550vw / 7.5);
    font-size: calc(28 / 750 * 100vw);
    padding: calc(30vw / 7.5) 0;
}

    
    
    /*footer*/
    footer{
        padding: calc(70vw / 7.5) 5.333333333% calc(30vw / 7.5);
    }

    footer .logo{
        width: 59.402985074%;
        margin-bottom: calc(55vw / 7.5);
    }

    footer .copy{
         font-size:  calc(20 / 750 * 100vw);
    }


    /*
     thanksページ
    */

    body.thanksPage #message{
        overflow: hidden;
        padding: calc(115vw / 7.5) 0 calc(100vw / 7.5);
    }

    body.thanksPage #message .message_inner{
        max-width: 1200px;
        margin: 0 auto;
    }


    body.thanksPage #message .logo{
        width:calc(265vw / 7.5);
        margin: 0 auto calc(75vw / 7.5);
    }

    body.thanksPage #message h1{
        font-size:  calc(24 / 750 * 100vw);
        margin-bottom: calc(75vw / 7.5);
    }
    
    body.thanksPage #message .txt{
        font-size:  calc(24 / 750 * 100vw);
    }

    body.thanksPage #message h1 + p{
        margin-bottom: calc(45vw / 7.5);
    }

    body.thanksPage #message h1 + p + p{
        margin-bottom: calc(80vw / 7.5);
    }
    
    body.thanksPage #message h1 + p + p + p{
         margin-bottom: calc(45vw / 7.5);
    }
    
    body.thanksPage .message_slider{
        margin: calc(120vw / 7.5) auto calc(70vw / 7.5);
    }

    body.thanksPage .message_slider > div{
        padding: 0 !important;
        width:inherit;
        margin: 0 !important;
    }
    
    body.thanksPage .message_slider .slick-slide{
        margin: 0 calc(15vw / 7.5);
        max-width: calc(350vw / 7.5);
    }    
    
    body.thanksPage .message_slider div img{
        width:100%;
    }

    body.thanksPage .pageback a{
        width: auto;
        padding: 11px calc(75vw / 7.5);
        font-size:  calc(26 / 750 * 100vw);
    }

}
