@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Oswald&display=swap');
/* nomal */
@font-face {
    font-family: ' Oswald ';
    src: url('../fonts/Oswald-Regular.ttf') format('ttf'),
             url('../fonts/Oswald-SemiBold.ttf') format('ttf');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: ' Noto Serif JP ';
    src: url('../fonts/NotoSerifJP-Regular.woff') format('woff'),
             url('../fonts/NotoSerifJP-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-y: scroll;
  color: #222;
  font-weight: normal;
  scroll-behavior: smooth;
  font-size: 12px;
    font-family: Avenir, 'Helvetica neue', Helvetica, 'Segoe UI', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
}
/* support iOS */
html {
  height: -webkit-fill-available;
  background: #e9e5e3;
}


body {
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
@media screen and (max-width: 1023px) {
    
}
@media screen and (min-width: 1024px) {
    html { font-size: 14px;}
}

/* --------------------------------------------- */
/* ▼common */
/* --------------------------------------------- */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote {
  margin: 0;
  padding: 0;
}
dd {
  margin-inline-start: 0;
}
li {
  list-style: none;
}
p {
  margin-block-start: 0;
  margin-block-end: 0;
}
a {
  text-decoration: none;
  color: #222;
}
img {
  width: 100%; height: auto;
}




element.style {
}
header a {
    font-family: 'Oswald', sans-serif;
    color: #fff;
    border-bottom: none;
}
a {
    color: #1967d2;
}
a:where(:not(.wp-element-button)) {text-decoration: none;}

.screen-reader-response { display: none;}
.wpcf7-response-output { font-size: 100%; margin-top: 3em;}
.tit_L { font-size: 130%;}
.tit_M {font-size: 130%;}
.tit_M a{font-size: 80%;float: right;display: block;color: #1967d2;}
.tit_G {
    font-size: 400%;
    font-family: 'Oswald', sans-serif;
    margin: 0.5em 0;
}
.tit_G span {font-size: 34%;border: 1px solid #F00;color: #F00;padding: 0.2em 0.4em;margin-left: 1em;}

.tit_border_A {border-bottom: 1px solid #666; margin-bottom: 10px;}
.tit_border_B {border-bottom: 1px solid #666; margin-bottom: 10px;}
table {font-size: 12px!important;}

.pc_only {display: none;}
@media screen and (min-width: 1024px) {
    .tit_L {font-size: 170%;}
    .tit_M {font-size: 130%;padding-bottom: 0.4em;line-height: 1;}
    .tit_G {margin: 1em 0;}
    .tit_border_A {margin-bottom: 20px;}
    .tit_border_B {margin-bottom: 0.4em;}
    table {font-size: 14px!important;}
    .sp_only {display: none;}
    .pc_only {display: block;}
}
.serif { font-family: 'Noto Serif JP', serif;}
/*-------------------------------------------
header
-------------------------------------------*/
header {
  background: rgb(114 112 113 / 20%);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  height: 70px;
}

header a  {
    font-family: 'Oswald', sans-serif;
    color: #fff;
}

header #logo {
  float: left;
  font-size: 20px;
  margin-left: 2%;
  margin-top: 15px;
  letter-spacing: 0.2em;
}

header .icons a{ fill: #fff; stroke:#fff;}

@media screen and (min-width: 1024px) {
  header #logo {
    font-size: 30px;
    margin-top: 7px;
  }
}
/*　navi_pc　*/
.navi_pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .navi_pc {
    width: 100%; /* 1200+rightmargin*/
    position: relative;
    display: block;
    /* margin: auto; */
    /* padding-right: 30px; */
  }
  .navi_pc ul {
    display: flex;
    flex-wrap: wrap;
    float: right;
    margin-top: 20px;
    position: absolute;
    right: 2%;
    top: 0;
  }
  .navi_pc li {
    font-family: 'Oswald', sans-serif;
    margin-left: 20px;
    font-size: 20px;
  }
  .navi_pc li.icons_last {
    margin-left: 11px;
  }
}
/*　ハンバーガーメニューボタン　*/
.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 20px;
  top: 12px;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 6px;
  background: #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 6px;
  background: #fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
  top: 16px;
  background: #fff;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0;
  right: 0;
  color: #fff;
  background: rgb(212 103 103 / 70%);
  width: 300px;
  transform: translateX(300px);
  transition: all 0.6s;
  height: 100vh;
}
nav.globalMenuSp ul {
  margin-top: 30px;
  padding: 0;
  width: 100%;
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  font-size: 24px;
}
nav.globalMenuSp ul li a {
  display: block;
  padding: 1em 0 0.2em;
  text-decoration: none;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
}
nav.globalMenuSp ul li a span,
nav.globalMenuSp ul li a i { margin-left: 20px;}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
  transform: translateX(0%);
}


@media screen and (min-width: 1023px) {
  .hamburger {
    display: none;
  }
}
/* -----Animation-----------*/
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1s;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}


/*
コンテンツcommon
-------------------------------------------*/
section {
  width: 95%;
  margin: auto;
  max-width: 1400px;
}
.align_c { text-align: center;}

.mt_1em { margin-top: 1em;}
.mt_2em { margin-top: 2em!important;}
.mt_3em { margin-top: 3em!important;}
.mb_3em { margin-bottom: 3em!important;}
.ml_1em { margin-left: 1em;}

.fontsize_08 { font-size: 80%;}
.fontsize_120 { font-size: 120%;}
.minus_symbol { margin-left: -0.5em;}
.fa-external-link-alt { margin-left: 0.3em;}
.border_link {color: #1a73e8;}
.font_middle { font-weight: bold; font-size: 140%;}
.block { display: block;}

.inline-block {display: inline-block; width: fit-content!important;}
.tit_B {
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    font-size: 160%;
    margin-bottom: 0.5em;
}

.tit_K { font-size: 200%;}
.link_blank span { font-size: 80%}
.link_blank a {color: #1a73e8;font-size: 90%;}
.link_blank a p {
    display: inline-block;
    margin-left: 0.3em;
    fill: #1a73e8;
    stroke: #1a73e8;
}
@media screen and (min-width: 740px) {
    .sp_br { display: none;}

}

.menu_vip ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5em;
}
.menu_vip li {text-align: center;font-size: 90%;}
.menu_vip li a { position: relative; color: #222;}
.menu_vip li a::before{
	content:'▼';
	font-size:0.8rem;
	padding:0 10px 0 0;
	color: #ccc;
}
.menu_vip li span{display: block; color: #666; font-size: 90%;}
.link_style_A a {position: relative;display: block;width: fit-content;line-height: 1;margin-bottom: 2em;color: #1a73e8;}
.link_style_A a::before{
    position: absolute;
    content: "";
    margin: auto;
    top: 0;
    bottom: 0;
    right: -12px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #1a73e8;
    border-right: 2px solid #1a73e8;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media (max-width: 767px) {
    .menu_vip ul { border-bottom: 1px solid #969696;}
    .menu_vip li { width: 50%;border-top: 1px solid #969696; padding: 1em 0;}
    .menu_vip li a { display: block; text-align: left;}
}
@media (min-width: 768px) {    
    .menu_vip ul { padding: 1em 0;justify-content: space-around;border-bottom: 1px solid #969696;border-top: 1px solid #969696;}
    .menu_vip li { }
}

/*
slider
-------------------------------------------*/
.slide_a, .slide_a a {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 80vh;
  margin: 0;
  text-decoration: none;
  position: relative;
}
.slide_a a {
  color: #FFF;
  font-family: 'Noto Serif JP', serif;
}
.slide_a h1 {
  position: absolute;
  top: 50%;
  text-align: center;
  /* width: fit-content; */
  display: block;
  overflow: hidden;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  letter-spacing: 0.1em;
  padding-bottom: 1em;
  line-height: 1.2;
  width: 50%;
}
.slide_a h2 {
  position: absolute;
  top: 65%;
  text-align: center;
  width: fit-content;
  display: block;
  overflow: hidden;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 14px;
  max-width: 95%;
}
.slide_a a dl {
  margin-left: 5%;
  position: absolute;
  width: 95%;
  bottom: 15%;
}
.slide_a a dt {
  font-weight: bold;
  font-size: 30px;
}
.slick-dots {
  bottom: -35px;
}
.slick-dots li button:before {
  font-size: 14px !important;
}
.slick-dotted.slick-slider {
  margin-bottom: 60px;
}
.slick-dots li.slick-active button:before {
  color: #ff6e6e !important;
}
.slick-dots li {
  margin: 0 2px !important;
}
@media screen and (min-width: 1024px) {
  .slide_a h1 {}
  .slide_a h2 {
    top: 55%;
  }
  .slide_a a dl {
    margin-left: 10%;
  }
  .slick-dotted.slick-slider {
    margin-bottom: 60px;
  }
  .slide_a .slick-dots {
    bottom: -4%;
  }
  .slick-dots li {
    margin: 0 5px !important;
  }
}




/*
コンテンツ
-------------------------------------------*/
 .half_box dt {
  font-size: 130%;
  font-weight: bold;
  margin-bottom: 0.2em;
  font-family: 'Noto Serif JP', serif;
}
.half_box .deta {
  font-weight: bold;
  margin-top: 1em;
  font-family: 'Noto Serif JP', serif;
}
.half_box .deta span {
  font-size: 22px;
  display: block;
}
.btn_learn {
  font-size: 20px;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  border: 1px solid #222;
  padding: 10px 20px;
  /* display: inline-block; */
  width: 90%;
  margin: 2em auto 0;
}
.slide_a .btn_learn {
  border: 1px solid #fff;
  font-size: 16px;
  margin: 1em 0 0;
  width: 10em;
}
.btn_learn a {
  display: block;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 1023px) {
    .half_box li:first-child { margin-bottom: 10px;}
    .sp_block {display: block!important;width: fit-content;}
}
@media screen and (min-width: 1024px) {
  .half_box {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2%;
    align-items: stretch;
    line-height: 1.6;
  }
  .half_box li {
    width: 49%;
  }
    
    .half_box li img {}
    .half_box li li { width: 100%;}
  .box_1_2 dt, .half_box dt {
    font-size: 170%;
    margin-bottom: 0.5em;
    line-height: 1.4;
  }
  .half_box .deta span {
    margin-left: 10px;
    display: inline-block;
  }
  .btn_learn {
    margin: inherit;
    margin-top: 2em;
    width: 65%;
  }

}

/*
gmap
-------------------------------------------*/
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
/*
footer
-------------------------------------------*/
footer {
  margin-top: 100px;
  display: block;
  overflow: hidden;
  padding-bottom: 50px;
  border-top: 1px solid #bdb9b9;
}
footer p {
  text-align: center;
  margin-top: 60px;
  letter-spacing: 0.5em;
}

footer ul {
    text-align: center;
    font-size: 80%;

}
footer li {margin-top: 2em;}
@media screen and (min-width: 1024px) {
footer ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 3%;
}
}

/* Contact Form7 */
.contact7 {
  box-sizing: border-box;
  margin: auto;
}
.contact7 dd {
  margin: 0 0 30px 0;
}
.contact7 dt {
  font-weight: normal;
  margin-bottom: 15px;
}
/* 必須マーク */
.contact7 .must {
  background: #a25350;
}
/* 任意マーク */
.contact7 .optional {
  background: #999;
}
.contact7 .must, .contact7 .optional {
  color: #FFF;
  border-radius: 3px;
  font-size: 12px;
  margin: 0 10px 0 0;
  padding: 5px 10px;
  letter-spacing: 2px;
}
.btn_contact7 {
  margin: auto;
  width: 80%;
}
.btn_contact7 input {
  width: 100%;
  background-color: #a25350;
  border: 1px solid #333;
  color: #FFF;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: 0.2em;
  border: 1px solid #a25350;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.btn_contact7 input:hover {
  background-color: #FFF;
  color: #a25350;
}
@media screen and (min-width: 768px) {
  .contact7 dt {
    float: left;
    clear: left;
    width: 25%;
    padding: 5px 10px 5px 0;
  }
  .contact7 dd {
    margin-left: 25%;
  }
  .btn_contact7 input {
    padding: 20px 0;
  }
}
input, textarea {
  width: 100%;
  padding: 5px 8px;
  border: 1px solid #333;
}
input[type="checkbox"] {
  width: 14px;
}
.check_contact7 {
  margin: 0 auto 30px;
  text-align: center;
}
.via {
  margin-bottom: 20px;
  padding-left: 1%;
}
.via input {
  border: none;
  pointer-events: none;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #261E47;
  text-align: center;
  font-weight: bold;
  color: #b91f1f;
}
.wpcf7 form .wpcf7-response-output {}
.contact_retreat {
  width: 90%;
  margin: 30px auto;
}
.wpcf7-select {
  width: 100%;
  padding: 0.5em;
}
.lp_mail { padding-top: 40px;}
.mail_text { margin-bottom: 2em;}
.mail_text dt{font-weight: bold;}
.check_contact7 a {
    border-bottom: 1px solid #333;
    line-height: 1;
    margin-left: 1em;
}

.entry-content pre {    white-space: break-spaces;}
.a-wrap:hover { box-shadow: none; transform: 0;}

.copy-info {display: none;}
@media screen and (min-width: 960px) {
    .lp_mail { padding-top: 60px;}
  .contact7 .must, .contact7 .optional {
    margin: 0 10px;
  }
  .contact_retreat {
    max-width: 1200px;
    margin: 60px auto;
  }
}

.article pre {
    padding-left: 1.25rem;
    padding-bottom: 0.25rem;
    border-left: 1px solid #767676;
    margin-top: 5rem;
    margin-bottom: 1em!important;
    font-family: Avenir, 'Helvetica neue', Helvetica, 'Segoe UI', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
}

.three_box a { color: #222;}
.three_box dt+dd {
    margin: 0.5em 0;
}

.textinner p { margin-bottom: 1em;}
@media screen and (max-width: 959px) {
}
@media screen and (min-width: 960px) {
    .three_box {display: flex;flex-wrap: wrap;gap: 6%;width: 90%;margin: auto;}
    .three_box li {width: 29%;}
}

pre {
    font-family: 'Roboto','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
    font-size: 80%;
    white-space: inherit;
}
