@charset "UTF-8";

@font-face {
  font-family: 'Gidole';
  src: url('../font/Gidole-Regular.ttf') format('truetype'), url('./font/Gidolinya-Regular.otf') format('opentype');
}

html{
  font-size : 62.5%;
  overflow  : auto;
}

body{
  background  : url(../images/bg_line.png) repeat-y top center #fff;
  color       : #000;
  font-size   : 1.6rem;
  font-family : "Gidole", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", Verdana, "メイリオ", sans-serif;
  font-feature-settings: "pkna";
  letter-spacing : 0.1em; 
  line-height : 1.5;
  height      : 100%;
  overflow-x  : hidden;
  text-align  : justify;
  width       : 100%;
  -webkit-font-smoothing  : antialiased;
  -moz-osx-font-smoothing : grayscale;
}

a:hover,a img:hover{
  opacity : 0.8;
}

img{
  display     : block;
  line-height : 1.0;
  height      : 100%;
  margin      : 0 auto;
}




/*
// footer
*/
.footer{
  background : #000;
  width      : 100%;
  
}

.footer__inner{
  align-items     : center;
  display         : flex;
  height          : 220px;
  justify-content : space-between;
  margin          : 0 auto;
  max-width       : 1280px;
  min-width       : 1080px;
  padding         : 0 100px;
}


.footer__logo{
  height : auto;
  margin : 0;
  width  : 198px;
}

.copyright{
  color     : #fff;
  font-size : 12px;
}



.main{
  min-width : 1080px;
}

/*
// content
*/



.content--common{
  margin  : 0 auto;
  padding : 80px 0;
  width   : 1080px;
}

.section--1480{
  max-width : 1480px;
  margin    : 0 auto;
  position  : relative;
  overflow  : hidden;
}

.content--1480{
  left      : 50%;
  position  : absolute;
  top       : 0;
  transform : translate(-50%,0);
  width     : 1480px;
  z-index   : 2;
}


.section--bg-yellow{
  background:#fff000;
}

.section--bg-brown{
  background:#c9bc9c;
}

.section--bg-black{
  background:#342804;
}

.content{
  min-width : 1080px;
  padding   : 40px 0 80px;
}


/*
// cta
*/

.section--cta{
  background : #fff000; 
  padding    : 80px 0;
}

.cta{
  background: #fff;
  border-radius:10px;
  margin: 0 auto;
  padding:40px;
  width : 915px;
}

.cta__title{
  margin : 0 0 30px 0;
}

.cta__btn{
  display         : flex;
  justify-content : space-between;
  margin          : 0 auto;
  width           : 680px; 
}

.cta__btn a{
  width : 321px; 
}
        





.section-fv{
  height   : 640px;
  position : relative;
}

.section-fv__contact-btn{
  display         : flex;
  justify-content : space-between;
  position        : absolute;
  right           : 40px;
  top             : 40px;
  width           : 340px;
  z-index         : 2;
}

.content--fv{
  
}




.section-fv02__content{
  background : linear-gradient(0deg,transparent 14%, #c9bc9c 0%);
  padding    : 80px 0 40px;
}

.section01{

}

.section01__content{
  margin : 0 auto;
  width  : 1080px;
}

.section02{
  background : #fff000;
  margin     : -330px 0 0 0;
  padding    : 330px 0 0 0;
}

.section02__content{
  margin  : 70px 0 0 0;
}

.section03{

}

.section03__content__title{
  margin : 0 auto 40px;
}

.section03__content__image{
  margin : 0 0 80px 0;
}

.content04{
  background      : url(../images/content04_bg.png) no-repeat center center;
  background-size : cover;
  padding         : 150px 0;
}

.section04__content__image{
  margin : 0 auto 80px;
}





/*
// common element
*/

.text--red{
  color : #FF0050;
}

.text--green{
  color : #00C8C8; 
}

.text--white{
  color : #fff; 
}

.text--large{
  font-size : 4.0rem; 
}

.text--medium{
  font-size : 2.4rem;
}

.text--small{
  font-size : 1.2rem;
}

.text--bold{
  font-weight : bold;
}



/*
// contact-header
*/

.contact-header__inner{
  margin     : 0 auto;
  max-width  : 1280px;
  min-width  : 1080px;
  padding    : 40px 0;
}

/*
// contact
*/

.contact,.contact-complete{
  max-width : 1280px;
  min-width : 1080px;
  margin    : 0 auto;
  padding   : 40px 0 160px;
}

.contact-page-title{
  font-size   : 4.0rem;
  font-weight : bold;
  margin      : 0 0 30px 0;
  text-align  : center;
}


.contact-form{
  margin : 0 auto;
  width  : 830px;
}

.contact-form__contact-type{
  display: none;
}


.contact-form dl{
  align-items : center;
  display     : flex;
  margin      : 0 0 20px 0;
}

.contact-form dt{
  margin     : 0 20px 0 0;
  text-align : right;
  width      : 175px;
}

.contact-form dt label{
  font-size      : 2.4rem;
  font-weight    : bold;
  letter-spacing : 0;
}

.contact-form__icon-require{
  margin     : 0 20px 0 0;
  width      : 56px;
}

.contact-form__icon-require span{
  align-items     : center;
  background      : #c9bc9c;
  border-radius   : 5px;
  color           : #fff;
  display         : flex;
  height          : 32px;
  justify-content : center;
  width           : 56px;
}

/* placeholder */

/* Google Chrome, Safari, Opera 15+, Android, iOS */
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {color : #C8C8C8;}
/* Firefox 18- */
input:-moz-placeholder, textarea:-moz-placeholder {color : #C8C8C8; opacity: 1;}
/* Firefox 19+ */
input::-moz-placeholder, textarea::-moz-placeholder {color : #C8C8C8; opacity: 1;}
/* IE 10+ */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {color : #C8C8C8;}



.common-input,
.common-select,
.common-textarea{
  border        : 1px solid #c9bc9c;
  border-radius : 5px;
  padding       : 0 10px;
}

.common-input,
.common-select{
  height : 40px;
}

.common-textarea{
  height : 144px !important;/* important for mailformpro */
  width  : 560px !important;/* important for mailformpro */
}

.common-select{
  width : 240px;
}

.common-input--width_240{
  width : 240px;
}

.common-input--width_400{
  width : 400px;
}

.common-input--width_560{
  width : 560px;
}

select::-ms-expand {
  display: none;
}

.common-select{
  background : url(../images/icon-select.svg) #fff no-repeat right 15px center;
  background-size : 18px 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.contact-form__unit--type_flex-start{
  align-items : flex-start !important;
}

.contact-form__last-unit{
  margin : 0 0 80px 0 !important;
}

.contact__submit{
  margin: 0 auto;
  display: block;
}


.contact-complete{

}

.contact-complete__text{
  margin : 0 0 160px 0;
}

.contact-complete__text p{
  text-align: center;
  margin : 0 0 40px 0;
}

.contact-complete__text p:last-child{
  margin : 0 0 0 0;
}

.contact-complete__gotop img{
  margin: 0 auto;
}

/*
// mailformpro
*/
#mfp_loading,
#mfp_loading_screen,
#mfp_overlay_background,
#mfp_hidden{
  display : none;
}

.mfp_err{
  color    : #FF0050;
  position : absolute;
}

/*
// faq
*/
.faq{
  margin: 0 auto;
  width: 1080px;
}