@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=M+PLUS+Rounded+1c:wght@400;800&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');


/**** Clearfix ****/
/* レイアウト
------------------------------------------------------------*/
.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.m-plus-rounded-1c{
  font-family: "M PLUS Rounded 1c", serif;
   font-weight: 800;
}
.m-plus-rounded-1c2{
  font-family: "M PLUS Rounded 1c", serif;
   font-weight: 600;
}

.noto-serif-jp-bold  {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.red{ color: #e5004f;}
.blue{ color: #1d2088;}

/* 共通変更 フォントサイズ　*/
.font12 { font-size: clamp( 12px, 1.2vw, 12px); }/*  10px 最大　2px*/
.font14 { font-size: clamp( 14px, 1.4vw, 14px); }/*  12px 最大　14px*/
.font16 { font-size: clamp( 14px, 1.6vw, 16px); }/*  14px 最大　16px*/
.font17 { font-size: clamp( 14px, 1.8vw, 17px); }/*  14px 最大　17px*/
.font18 { font-size: clamp( 16px, 1.8vw, 18px); }/*  16px 最大　18px*/
.font20{ font-size: clamp( 16px, 2.0vw, 20px); }/*  16px 最大　20px*/
.font22 { font-size: clamp( 18px, 2.2vw, 22px ); }/*  18px 最大　22px*/
.font24{ font-size: clamp( 18px, 2.4vw, 24px); }/*  18px 最大　24px*/
.font26{ font-size: clamp( 18px, 2.6vw, 26px); }/*  20px 最大　26px*/
.font28 { font-size: clamp(20px, 2.8vw, 28px); }/*  20px 最大　28px*/
.font30{ font-size: clamp(24px, 3.0vw, 30px); }/*  24px 最大　30px*/
.font32{ font-size: clamp( 20px, 3.4vw, 32px); }/*  26px 最大　32x*/
.font36{ font-size: clamp( 28px, 3.6vw, 36px); }/*  28px 最大　36px*/
.font40{ font-size: clamp(26px, 4.0vw, 40px ); }/*  30px 最大　40px*/
.font46 { font-size: clamp( 32px, 4.6vw, 46px );}/*  32px 最大　46px*/



 .req #wrapper  header.title { width:95%; max-width: 900px; margin:60px auto 0px !important ;  padding: 1em 0;border-top:20px solid #1d2088; }
 header.title img{ width:100%; height:auto; }
.main img{ width:100%; height: auto; line-height: 1;}
.main h2{ width:95%; max-width: 420px;}
.main dl{ display: flex; flex-wrap:wrap;   align-items: center;  /* 垂直中央揃え */ line-height: 1;}
.main dl dt{ width:200px; padding: 0; margin: 0;}
.main dl dd{ width:calc( 100% - 200px - 2em); padding: 0 0 0 2em; line-height: 1.3;}
.main img.omachi{ display: block; margin: 3em auto;}
.main dl dd p{ margin: 0.5em 0 0;}

.reqend .inner2 { padding-bottom: 1em; }
.reqend .inner2  h2{margin: 1em 0;}




/* お問合せ
------------------------------------------------------------*/
article.contact{margin: 3em auto 0;}
article.contact h3.red{  border: 2px solid ; padding: 0em 0.5em; width:3em; text-align: center;}
article.contact h5{ margin: 2em auto 0; background: #000; color: #fff; text-align: center;border: 1px solid #000; }

article.contact dl { border: 1px solid #000; 
  margin: 0px auto 20px;} 

article.contact dt {
  text-align: left;
 padding: 1em ; background: #f0f0f0 !important;
}

article.contact dd {padding: 0.8em 1em;
 text-align: left;border-bottom: 1px solid #ddd;background: none !important;
 
}
article.contact dd p{ margin: 0.3em 0;}
article.contact input[type="text"], article.contact input[type="email"], article.contact input[type="tel"], article.contact textarea {
  padding: 0.8em;
  outline: none;
  display: block;
  border: none;
 border: 1px solid #999;
  margin: 0 0 0.5em;
  max-width: 500px;
  width:calc(90% - 1.6em); background: #fff !important;
}

article.contact input[type="text"]:focus, article.contact texture:focus, article.contact input[type="tel"]:focus , article.contact input[type="email"]:focus{
  border: 1px solid #d42a28;background: #ffd7d7!important;
}
article.contact input.p-postal-code[type="text"] {
  max-width: 10em;
}

article.contact button {display: block; vertical-align: middle;
  font-size: 20px !important;
  font-size: 2.0rem !important;
  margin: 30px auto 25px;
  vertical-align: middle;
  color: #fff;
  background-color: #485bb3;
  padding: 0;
  height: 50px;
  line-height: 50px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #485bb3;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
  width: 60%;
  max-width: 250px; border-radius: 50px;
}

button.btn1 {display: block; vertical-align: middle;
  font-size: 20px !important;
  font-size: 2.0rem !important;
  margin: 30px auto 25px;
  vertical-align: middle;
  color: #fff;
  background-color: #485bb3;
  padding: 0;
  height: 50px;
  line-height: 50px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #485bb3;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
  width: 60%;
  max-width: 250px; border-radius: 50px;
}
article.contact button[type="reset"]{
width: 30%;
  max-width: 200px;
 background-color: #999; border: 1px solid #999;
}
article.contact button[type="reset"]:hover {
  background: #AA0C0C;
  border: 1px solid #AA0C0C;
  color: #fff;
}
article.contact button[type="submit"]:hover {
  background: #AA0C0C;
  border: 1px solid #AA0C0C;
  color: #fff;
}

input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px; background: #fff;
  border: 1px solid #000;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

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

/* 基本のセレクトボックスのカスタマイズ */
.select {
  background: #fff; border: 1px solid #999;
  height: 40px;
  width: 300px;
  border-radius: 5px;
  position: relative;
  z-index: 1;
    margin-bottom: 0.5em;
}

.select::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #3368B1;
  border-right: 2px solid #3368B1;
  z-index: -1;
}

select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  width: 100%;
  height: 100%;
  padding: 0 10px;
}
ul.chui{ margin: 1.5em 0 0;}
ul.chui li{ margin: 0.25em auto; position: relative; padding-left: 1.2em;}
ul.chui li:before{content: "※"; position: absolute;  left:0; top:0;}
.end h3{ margin: 1em auto 1em;}


.tolp{ background: #faf2ba; padding: 1em ; margin: 4em auto; }
.tolp p{  text-align: center;  margin: 1em auto 0; width:80%; background:#fff; border: 1px solid #000; padding:0.8em 1em; }
.tolp p b{  display: block; }
.tolp h4{  font-weight: 600; text-align: center; }
.tolp  a{  display: block; position: relative;  margin: 3em auto; width:90%; }
.tolp  a img.fukidasi{  display: block; position:absolute; max-width:200px; width:30%; height: auto; top:-40px; right: -80px; }





/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:700px) {

.main dl dt{ width:150px; padding: 0; margin: 0;}
.main dl dd{ width:calc(100% - 1em); padding: 0 0 1em 1em; line-height: 1.3;}
.main img.omachi{ display: block; margin: 3em auto;}
.main dl dd p{ margin: 0.5em 0 0;}

    
    
    
}
@media only screen and (max-width:450px) {

article.contact h5{ margin: 0em auto 0;  padding: 0.5em; text-align: left; }
.tolp{ background: #faf2ba; padding: 1em ; margin: 4em auto; }
.tolp p{  text-align: left; margin: 1em auto 0; width:90%;padding:0.8em ; }
.tolp h4{text-align: left; }
.tolp  a{  display: block; position: relative;  margin: 3em auto; width:90%; }
.tolp  a img.fukidasi{ max-width:200px; width:30%; height: auto; top:-50px; right: -20px; }


}

@media print {
   .slider{ display: none !important }
      #wrapper {
    font-size: 14px;
    font-size: 1.4rem;
  }
    }
/*@print
A4用紙に特化したメディアクエリ*/
@page {
    size: A4;
    margin: 0;
}
