@import "reset.css";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500&display=swap');
/*************************************
　基本設定
*************************************/


:root{
    --clr-base:#333;
    --clr-white:#FFF;
}

*:focus {
  outline: none;
}

input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: none;
  border:none;
  }


  
html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;

}
body {
  color: var(--clr-base);
  font-size:16px;
  line-height: 1.75;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

img{
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

small{
  font-family: 'Zen Maru Gothic', sans-serif;
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

/*************************************
　スタイル開始
*************************************/

.pcnone{
  display: none;
}

body{
    font-family: 'Courier New', Courier, monospace;
    background-color: #fff;
}

.Copyright{
  padding: 1rem;
    text-align: center;
}

.mb3{
  margin-bottom:3rem;
}

.mb7{
  margin-bottom:7rem;
}

.section{
  text-align: center;
}

.section img{
  display: inline-block;
}

.float{
  position: absolute;
  top: 2%;
  right: 2%;
  z-index: 9999;
}


.float .inner .btn{
  display: flex;
  max-width: 640px;
}


.float .inner .btn li{
  width: 50%;
  margin-bottom:0;
}

.float .inner .btn li a{
  display: block;
}

.float .inner .btn li a:hover{
  opacity: .7;
}
.float .inner .btn li a img{
	width: 16vw;
}

#Anker{
  padding: 0 3%;
}

#Anker .list{
  display: flex;
  justify-content: center;
  gap:2%;
}
#Anker .list.anker--01{
  margin-bottom:2%;
}

#Anker .list.anker--02{
  
}


#section01{
  background-image: url(../images/04_back_pc.png);
  background-position: bottom;
  background-repeat: no-repeat;
  padding: 7rem 0;
}
#section08{
  background-image: url(../images/01_02_pc_background.png);
  background-position: bottom;
  background-repeat: no-repeat;
  padding: 7rem 0;
}

#section02{
  background-image: url(../images/05_back_pc.png);
  background-position: bottom;
  background-repeat: no-repeat;
  padding: 7rem 0;
}

#section03{
  background-image: url(../images/06_back_pc.png);
  background-position: bottom;
  background-size: contain;
  padding: 7rem 0;
}

#section04{
  background-image: url(../images/07_back_pc.png);
  background-position: bottom;
  background-size: contain;
  padding: 7rem 0;
}

#section05{
  background-image: url(../images/08_back_pc.png);
  background-position: bottom;
  background-size: contain;
  padding: 7rem 0;
}

#section06{
  background-image: url(../images/09_back_pc.png);
  background-position: bottom;
  background-size: contain;
  padding: 7rem 0;
}

#section06 .inner{
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
}

#section06 .innerBtn{
  display: flex;
  justify-content: center;
  gap: 1%;
  
  position: absolute;
  top: 20%;
  right: 7%;
}

#section06 .innerBtn li a{
  display: block;
}

#section06 .innerBtn li a:hover{
  opacity: .7;
}

#section07{
  background-image: url(../images/10_back_pc.png);
  background-position: bottom;
  background-size: contain;
  padding: 7rem 0;
}

#section03 .inner,
#section04 .inner,
#section06 .inner,
#section07 .inner{
  padding: 0 3%;
}


.contactArea{
  border-top:#FFDB65 5px solid;
  border-bottom:#FFDB65 5px solid;
  margin-top: 14rem;
  padding-bottom:6rem;
  padding:0 5% 6rem;
}

.contactArea .inner{
  max-width: 1200px;
  margin:0 auto;
  margin-top: -7rem;
}
.contactArea .inner .btn{
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  gap: 3%;
}
.contactArea .inner .btn li a{
  display: block;
}

.contactArea .inner .btn li a:hover{
  opacity: .7;
}

#contactForm{
  background-color: #FFF5F5;
}
#contactForm .inner{
  max-width: 1020px;
  margin:0 auto;
  padding: 7rem 5%;
}

#contactForm .inner .Heading{
  margin-bottom:5rem;
  text-align: center;
}

#contactForm .inner .Heading img{
  display: inline-block;
}

#contactForm .inner .desc{
  text-align: center;
  margin-bottom:5rem;
}

#contactForm .inner .row{
  display: flex;
  margin-bottom:3rem;
}

#contactForm .inner .row .contHeading{
  min-width: 200px;
}
#contactForm .inner .row .inputForm{
  width: 100%;
}
#contactForm .inner .row .inputForm.checkBoxWrap{
  display: flex;
}
#contactForm .inner .row .inputForm .checkBox{
  margin-right:1rem;
}

#contactForm .inner .row .inputForm .checkBox input{
  width: auto!important;
}
#contactForm .inner label,
#contactForm .inner .row .contHeading .required,
#contactForm .inner .row input,
#contactForm .inner .row textarea,
#contactForm .inner .desc,
.message{
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

#contactForm .inner .row .contHeading label:hover{
  cursor:default;
}

#contactForm .inner .row .contHeading .required{
  background-color: #ff5858;
  color:#FFF;
  font-size: 12px;
  font-weight: bold;
  padding: .2rem;
  line-height: 12px;
}

#contactForm .inner .row input,
#contactForm .inner .row textarea{
  border: none;
  font-size:16px;
  width: 100%;
  padding:.5rem 1rem;
}

#contactForm .inner .button{
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
#contactForm .inner button,
#contactForm .inner button img{
  background-color: #fff5f5;
}

#contactForm .inner .button button{
  border: 0;
}

#contactForm .inner button:hover{
  opacity: .7;
}


/*************************************
　サンクスページ
*************************************/

.message{
  max-width: 1280px;
  height: 93vh;
  margin:0 auto;
  padding: 5%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.message p{
  line-height: 1.75;
  margin-bottom:1.5rem;
}


/*************************************
　レスポンシブ
*************************************/
@media screen and (max-width:1310px) {
  #section06 .innerBtn{
    width: 42vw;
    right: 6vw;
  }
}
@media screen and (max-width:820px) {
  .mb7{
    margin-bottom:3rem;
  }
  .pcnone{
    display: block;
  }
  .spnone{
    display: none;
  }
  .float{
    position: fixed;
    bottom: 0;
    top: initial;
    right: initial;
    left: 0;
  }
  .float .inner .btn{
    flex-direction: row;
    max-width: 100%;
  }
  .float .inner .btn li a img{
    width:100%;
  }
  #section01{
    background-image: url(../images/04_back_sp.png);
    padding: 4rem 0;
  }
  #section08{
    background-image: url(../images/01_02_sp_background.png);
    padding: 4rem 0;
  }
  #section02{
    background-image: url(../images/05_back_sp.png);
    padding: 4rem 0;
  }
  #section03{
    background-image: url(../images/06_back_sp.png);
    padding: 4rem 0;
  }
  #section04{
    background-image: url(../images/07_back_sp.png);
    padding: 4rem 0;
  }
  #section05{
    background-image: url(../images/08_back_sp.png);
    padding: 4rem 0;
  }
  #section06{
    background-image: url(../images/09_back_sp.png);
    padding: 4rem 0;
    position: relative;
  }
  #section06 .innerBtn{
    flex-direction: column;
    width: 85%;
    top: 21.5%;
    left: 50%;
    transform: translateX(-50%);
  }
  #section06 .innerBtn li:first-child{
    margin-bottom:5%;
  }
  #section07{
    background-image: url(../images/10_back_sp.png);
    padding: 4rem 0;
  }
  #Anker .list.anker--01,
  #Anker .list.anker--02{
    flex-wrap: wrap;
    margin-bottom:0;
    gap:3%;
  }
  #Anker .list.anker--01 li,
  #Anker .list.anker--02 li{
    width: 48%;
    margin-bottom:3%;
  }
  
  #Anker .list.anker--02 li:last-child{
    width: 100%;
  }
  .contactArea{
    margin-top: 7rem;
    padding: 9% 5% 3rem;
  }
  .btn{
    flex-direction: column;
  }
  .btn li:first-child{
    margin-bottom:5%;
  }
  #contactForm .inner .Heading{
    margin-bottom:3rem;
  }
  #contactForm .inner .Heading img{
    width: 250px;
    margin:0 auto;
  }
  #contactForm .inner .desc{
    margin-bottom:3rem;
    text-align: left;
  }
  #contactForm .inner .row{
    flex-direction: column;
  }
  #contactForm .inner .row .contHeading{
    margin-bottom:1rem;
  }
  #contactForm .inner label, #contactForm .inner .row .contHeading .required, #contactForm .inner .row input, #contactForm .inner .row textarea, #contactForm .inner .desc {
    font-size:14px;
  }
  #contactForm .inner .row .contHeading .required{
    font-size:10px;
  }
  #contactForm .inner .row .inputForm.checkBoxWrap{
    flex-direction: column;
  }
  #contactForm .inner .row .inputForm.checkBoxWrap .checkBox{
    margin-bottom:.7rem;
  }
  #contactForm .inner .row .inputForm.checkBoxWrap .checkBox label{
    font-size:12px;
  }

  .Copyright{
    padding-bottom: 7rem;
  }
  .message{
    height: 100%;
    font-size: 14px;
  }
}

#contactForm input,
#contactForm textArea{
  background-color: #fff;
}


/***********
20231204追加
***********/
input[type="checkbox"] {
  position: relative;
  width: 16px!important;
  height: 16px!important;
  padding: 10px!important;
  background-color: #FFF;
  border: 1px solid #333!important;
  vertical-align: -5px;
  border-radius: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 8px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  content: '';
}