@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Monsieur+La+Doulaise&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kurenaido&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi&display=swap');
html {
  font-size: 62.5% !important;
  /*16px*62.5%=10px*/
}
body {
  font-size: 1.6rem;
  /*	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
  font-family: 'Josefin Sans', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.7;
  font-weight: 600;
  letter-spacing: 1.2px;
  background-color: #fff;
  color: #1a1a1a;
}
p {
  line-height: 2;
}
/*pc_tab(横)のみ*/
.d_tab {
  display: none !important;
}
/*SP(481～767px)のみ*/
.d_sp {
  display: none !important;
}
/*SSP(～480px)のみ*/
.d_ssp {
  display: none !important;
}
/*SP以外*/
.d_pc_but {
  display: none !important;
}
@media print, screen and (max-width: 999px) {
  .d_pc_tab {
    display: block !important;
  }
  .d_pc {
    display: none !important;
  }
  .d_tab {
    display: block !important;
  }
  .d_sp {
    display: none !important;
  }
  .d_ssp {
    display: none !important;
  }
  .d_pc_but {
    display: block !important;
  }
}
@media print, screen and (max-width: 767px) {
  /*PC,tab*/
  .d_pc_tab {
    display: none !important;
  }
  .d_pc {
    display: none !important;
  }
  .d_tab {
    display: none !important;
  }
  .d_sp {
    display: block !important;
  }
  .d_ssp {
    display: none !important;
  }
  .d_pc_but {
    display: block !important;
  }
}
@media print, screen and (max-width: 480px) {
  .d_pc {
    display: none !important;
  }
  .d_tab {
    display: none !important;
  }
  .d_sp {
    display: none !important;
  }
  .d_ssp {
    display: block !important;
  }
  /*SP以外*/
  .d_sp_but {
    display: none !important;
  }
  /*PC以外*/
  .d_pc_but {
    display: block !important;
    width: 250px;
    height: 250px;
    object-fit: cover;
  }
}
/* ===== * reset * =====*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
section {
  padding: 5rem 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
q:before, q:after {
  content: '';
}
object, embed {
  vertical-align: top;
}
hr, legend {
  display: none;
}
img, abbr, acronym, fieldset {
  border: 0;
}
ol, ul {
  list-style-type: none;
}
img {
  width: 100%;
  height: auto;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  font-family: "Font Awesome 5 free";
  font-weight: bold;
}
section {
  /*	max-width: 1400px;
	margin: 0 auto;*/
  overflow: hidden;
}
/*.main_wrap{
	max-width: 1000px;
	margin: 0 auto;
	padding: 5rem 0;
}*/
.te_left {
  text-align: left !important;
}
.te_right {
  text-align: right !important;
}
.te_center {
  text-align: center !important;
}
.inb {
  display: inline-block;
}
.flex {
  display: flex !important;
  flex-wrap: wrap;
}
.reverse {
  flex-flow: row-reverse;
}
.a_center {
  align-items: center;
}
.j_center {
  justify-content: center;
}
.j_sb {
  justify-content: space-between;
}
small {
  font-size: 90%;
  font-weight: normal;
}
a {
  outline: none;
  text-decoration: none;
  color: #1a1a1a;
  transition: .4s;
}
a:hover {
  opacity: 0.8;
  transition: .4s;
  /*	color: #ff7d00;*/
  filter: alpha(opacity=80);
  /* ie lt 8 */
  -ms-filter: alpha(opacity=80);
  /* ie 8 */
  -moz-opacity: 0.8;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.8;
  /* Safari 1.x */
}
.button a {
  position: relative;
  cursor: pointer;
  text-decoration: none;
  color: #fff;
  line-height: 2rem;
  display: block;
  z-index: 100;
  background-color: #86ce31;
  padding: 2rem 1.5rem 1.5rem;
  min-width: 200px;
  border-radius: 5px;
  text-align: center;
  border: 2px solid #86ce31;
  margin: 3rem auto;
  width: 35%;
}
.button a:hover {
  /*	transform: scale(.9)*/
  letter-spacing: 0.2em;
}
span.anchorlink {
  position: relative;
  top: -180px;
  display: block;
}
.b {
  font-weight: bold;
}
.im_txt {
  font-size: 2rem;
  font-weight: 800;
}
.im_line {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(rgba(255, 0, 0, .3)), #ffe640);
  background-image: linear-gradient(90deg, rgba(255, 232, 0, .7), #ffcb33);
  background-repeat: no-repeat;
  background-size: 200% 40%;
  background-position: 0 bottom;
  -webkit-animation: marker 5s ease 0s;
  animation: marker 5s ease 0s;
  font-weight: 800;
}
/* ぼかしから出現 */
.blur {
  animation: blurAnime 1.2s forwards;
}
@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
.blurTrigger_l {
  opacity: 0;
}
/*color*/
.black {
  color: #000;
}
.red {
  color: #ff0000;
}
.blue {
  color: #34698d;
}
.pink {
  color: #268600 !important;
}
.green {
  color: #268600;
}
.yellow {
  color: #ffff00;
}
.gray {
  color: #888;
}
.white {
  color: #fff !important;
}
.brown {
  color: #411700;
}
.gold {
  color: #927700;
}
.gold_l {
  color: #d7b77d;
}
.orange {
  color: #ff6200;
}
/*size*/
.small {
  font-size: 60%;
}
.big {
  font-size: 130%;
}
.w-300 {
  max-width: 300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-400 {
  max-width: 400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-500 {
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-600 {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-700 {
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-800 {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-900 {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95%;
}
.w-1000 {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
.w-1200 {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  width: 95% !important;
}
/*--size--*/
.w1 {
  width: 8.3333% !important;
}
.w2 {
  width: 16.6666% !important;
}
.w3 {
  width: 25% !important;
}
.w4 {
  width: 33.3333% !important;
}
.w5 {
  width: 41.6666% !important;
}
.w6 {
  width: 50% !important;
}
.w7 {
  width: 58.3333% !important;
}
.w8 {
  width: 66.6666% !important;
}
.w9 {
  width: 75% !important;
}
.w10 {
  width: 83.333% !important;
}
.w11 {
  width: 91.6666% !important;
}
.w12 {
  width: 100% !important;
}
/* ===== * fadeIn * =====*/
.fade {
  opacity: 0;
  transition: 1s;
}
.fadein {
  animation: fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  opacity: 1;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 画面内に入った状態 */
.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
/* 2つ目の要素に200msのdelayをかける */
.fadein:nth-of-type(2) {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}
/* 3つ目の要素に400msのdelayをかける */
.fadein:nth-of-type(3) {
  -moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}
/*--header--*/
.header {
  z-index: 1000;
  position: fixed;
  width: 100%;
}
#top-head.slidein {
  display: flex;
  flex-wrap: wrap;
	align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  background: rgba(255, 255, 255, .9);
  height: 90px;
  left: 0;
}
#top-head.slidein .logo-slidein {
  display: block;
}
@media screen and (min-width: 1100px) {
  @keyframes slideIn {
    0% {
      transform: translateY(-180px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
    }
    40%, 100% {
      opacity: 1;
    }
  }
}
/*--===アコーディオン===--*/
/*ラベル*/
.accbox label {
  display: block;
  cursor: pointer;
  transition: all 0.5s;
}
/*チェックは隠す*/
.accbox input {
  display: none;
}
/*中身を非表示にしておく*/
.accbox .accshow {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
  height: auto;
  padding: 5px;
  /*background: #fff5eb;*/
  opacity: 1;
}
.accbox .accshow p {
  margin: 15px 10px
}
/*チェックマークがついているリスト*/
ul.list01 li {
  display: flex;
  border-bottom: 1px dashed #aaa;
  padding-bottom: 0.2rem;
  padding-top: 0.5rem;
}
ul.list01 li:before {
  content: "\f00c";
  display: block;
  font-size: 0.9rem;
  position: relative;
  top: 0;
  margin: 0 0.5rem;
}
/*青丸がついているリスト*/
ul.list02 li, .format ul li {
  display: flex;
  padding-bottom: 0.2rem;
  padding-top: 0.5rem;
}
ul.list02 li:before, .format ul li:before {
  content: "\f111";
  color: #34698d;
  display: block;
  font-size: 0.9rem;
  position: relative;
  top: 5px;
  margin: 0 0.5rem;
}
/* 数字がついているリスト */
ol.list03, .format ol {
  margin: 3rem;
}
ol.list03 li, .format ol li {
  list-style-type: decimal;
  border-bottom: 1px dashed #aaa;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
ol.list03 li::marker, .format ol li {
  font-size: 2.5rem;
  color: #385674;
  font-weight: bold;
}
/* box01 */
.box01 {
  box-shadow: 0px 0px 3px #2d4b69;
  margin: 2rem 0.5rem;
  padding: 2rem;
  border-radius: 1rem;
}
.box02 {
  background: rgba(0, 0, 0, .7);
  margin: 0.5rem 0.5rem;
  padding: 2rem 3rem;
  ;
  border-radius: 0.5rem;
}
/*--== タブ切替 ==--*/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-top: 1rem;
}
.tab-label {
  color: #fff;
  cursor: pointer;
  flex: 1;
  font-weight: bold;
  order: -1;
  padding: 12px 24px;
  position: relative;
  text-align: center;
  transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
  user-select: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  background: rgba(0, 0, 0, .7);
  /*	border-radius: 3rem;*/
  margin: 0 1rem;
}
.tab-switch:checked + .tab-label.honin {
  background: #355064;
}
.tab-label:hover {
  background: rgba(177, 132, 67, .7);
}
.tab-switch:checked + .tab-label {
  color: #fff;
  background: rgba(155, 28, 37, 0.8);
  overflow: hidden;
}
.tab-label::after {
  background: #355064;
  bottom: 0;
  content: '';
  display: block;
  height: 3px;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(100%);
  transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
  width: 100%;
  z-index: 1;
}
.tab-switch:checked ~ .tab-label::after {
  transform: translateX(-100%);
}
.tab-switch:checked + .tab-label::after {
  opacity: 1;
  transform: translateX(0);
}
.tab-content {
  height: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-30%);
  transition: transform .3s 80ms, opacity .3s 80ms;
  width: 100%;
  margin-top: .5rem;
}
.tab-switch:checked ~ .tab-content {
  nsform: translateX(30%);
}
.tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  opacity: 1;
  order: 1;
  pointer-events: auto;
  transform: translateX(0);
  min-height: 30vh;
  margin-bottom: 1rem;
}
.tab-wrap::after {
  content: '';
  height: 20px;
  order: -1;
  width: 100%;
}
.tab-switch {
  display: none;
}
/*--==== CONTACT ====--*/
/*input,textarea {
  -webkit-appearance: none;
}*/
.form-wrap.contact .sec-contact dl {
  margin: 1rem 0;
  padding: 1rem 0;
  border-top: 1px dashed;
  border-bottom: 1px dashed;
}
.form-wrap.contact .sec-contact .headline04 {
  color: #de0909;
}
.form-wrap.contact .sec-contact ul {
  line-height: 2rem;
  letter-spacing: 1px;
  margin: 0 1rem;
  padding-left: 1rem;
}
.form-wrap.contact .sec-contact ul li {
  list-style: disc;
}
.form-wrap input[type="text"], .form-wrap input[type="email"], .form-wrap input[type="tel"], .form-wrap select, .form-wrap input[type="date"], .form-wrap textarea {
  font-family: acumin-pro, heisei-kaku-gothic-std, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  width: 100%;
  background: #fff;
  border: 1px solid #ccc;
  height: 41px;
  font-size: 15px;
  letter-spacing: .05em;
  padding: 0 1em;
}
.form-wrap input:-internal-autofill-selected {
  background: #aaa;
}
.form-wrap textarea {
  min-height: 200px;
  padding: 1rem;
}
.form-wrap input[type="radio"] {
  min-height: 20px;
  width: 20px;
  display: inline-block;
  content: "";
  position: relative;
  top: 3px;
  margin: 7px 5px 0 10px;
}
.mwform-radio-field input {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}
.form-wrap input[type="checkbox"] {
  vertical-align: middle;
  min-height: 22px;
  width: 22px;
  display: inline;
  margin: 7px 5px 10px 10px;
}
.form-wrap option {
  font-weight: 300;
}
.form-wrap input[type="submit"] {
  text-align: center;
  display: block;
  margin: 2rem auto 4rem;
  font-size: 1.2rem;
  padding: 0.5rem 1.5rem 0.3rem;
  background: #9b1c25;
  color: #fff;
  border: none;
  transition: .3s;
}
.form-wrap input[type="submit"]:hover {
  opacity: .7;
}
input:active {
  border-color: #355064;
}
.form-wrap .required:before {
  content: "※";
  color: #cf000f;
}
.form-wrap label p {
  margin-top: 0.8rem;
}
.form-wrap input.submit:hover {
  background: #355064;
}
.form-wrap input.submit {
  padding: 1rem !important;
  display: block;
  width: 250px;
  background: #010101;
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
  cursor: pointer;
}
.form-wrap dt {
  margin-bottom: 0.5rem;
}
.form-wrap dl {
  margin-bottom: 1.5rem;
  font-size: .9rem;
}
/*--==== footer ====--*/
#footer_nav {
  position: fixed;
  z-index: 9999;
  bottom: 0;
  height: 60px;
  width: 100%;
}
#footer_nav .f_nav_Btn a.Btn {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  width: 100%;
  height: 55px;
  -webkit-box-shadow: 0 5px 0 #e85163;
  box-shadow: 0 5px 0 #e85163;
  padding: 1rem 2rem 1.5rem 2rem;
  border-radius: .1rem;
  background: #eb6877;
}
a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #fff;
  background: #ee7f8b;
  -webkit-box-shadow: 0 2px 0 #e85163;
  box-shadow: 0 2px 0 #e85163;
}
#footer_nav .f_nav_Btn a:hover {
  opacity: .7;
}
#footer {
  /*	background-color: #76a4c1;*/
  background: linear-gradient(90deg, #58c6ff 0%, #3c70aa 50%, #58c6ff 85%);
  padding: 5rem 0;
}
#footer a {
  color: #fff;
}
#footer a.button {
  background-color: rgba(255, 255, 255, .8);
  width: 100%;
  max-width: 230px;
  color: #a08543;
  border: 2px solid #fff;
  margin: 0 auto;
}
#footer a.button:hover {
  background-color: rgba(255, 236, 192, .5);
  color: #37210e;
  border: 2px solid #e2c682;
}
#footer .footer_ttl {
  margin: -2rem 0 0 3rem;
  position: relative;
  padding-left: 1rem;
  z-index: 1
}
#footer .footer_ttl::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  max-width: 60px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #00508f;
  z-index: -1;
}
#footer .l_footer p {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  color: #73716D;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
#footer .copy {
  text-align: center;
  /*	color: #fff;*/
  padding: 20px 30px;
  /*	background: #81d8d0;*/
  font-size: 11px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
}
@media print, screen and (max-width: 1199px) {
  body {
    font-size: 1.4rem;
  }
  .w6 {
    width: 49% !important;
  }
}
@media print, screen and (max-width: 999px) {
  section {
    padding: 2rem 0 7rem;
  }
  #footer {
    padding-top: 10rem;
  }
  .w6 {
    width: 100% !important;
  }
}
@media print, screen and (max-width: 480px) {
  .button a {
    margin: 3rem auto 1rem;
    padding: 1rem 1.5rem 1rem;
  }
  section {
    padding: 2rem 0 7rem;
  }
  #footer_nav .f_nav_Btn a {
    font-size: 1.1rem;
  }
}