@charset "UTF-8";
/* line 10, common.scss */
html, body, #wrapper { width: 100%; max-height: 100%; min-height: 100vh; scroll-behavior: smooth; }

/* line 11, common.scss */
body { -webkit-text-size-adjust: 100%; margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; line-height: 2; word-break: break-word; font-display: swap; font-weight: 400; color: #313131; font-family: "YakuHanJP", "Noto Sans JP", sans-serif; font-size: 18px; /*transform: rotate( .03deg);*/ }
@media only screen and (max-width: 750px) { /* line 11, common.scss */
  body { font-size: 16px; } }

/* line 17, common.scss */
h1, h2, h3, h4, h5, h6, p, span, em, b, i, dl, dt, dd, ol, ul, li, tr, th, td, div { letter-spacing: 0.075em; font-feature-settings: "palt" 1; /*-webkit-text-stroke-width: 0.25px;*/ }

/* line 18, common.scss */
ul li, ol li { display: inline-block; vertical-align: top; font-size: 18px; font-size: 1.125rem; line-height: 2.25rem; }

/* line 19, common.scss */
p, p a, div, ul, ol, li, li a, dl, dt, dt a, dd, dd a, section, span, em, i, strong, b { box-sizing: border-box; /*text-align: justify; text-justify: inter-ideograph;*/ }

/* line 20, common.scss */
i { font-style: normal; }

/* line 24, common.scss */
.flexImg { overflow: hidden; position: relative; }
/* line 25, common.scss */
.flexImg img { width: 100% !important; height: 100% !important; object-fit: cover; font-family: 'object-fit: cover;'; }
/* line 26, common.scss */
.flexImg.ab { height: 0; padding: 100%; }
/* line 27, common.scss */
.flexImg.ab img { position: absolute; position: absolute; top: 50%; transform: translateY(-50%); left: -50%; right: -50%; margin: auto; z-index: 10; }

/* line 31, common.scss */
.mainColor { color: #0091df; }

/* line 32, common.scss */
.bg-mainColor { background-color: #0091df; }

/* line 33, common.scss */
.bd-mainColor { border-color: #0091df; }

/* line 34, common.scss */
.subColor { color: #f1883c; }

/* line 35, common.scss */
.bg-subColor { background-color: #f1883c; }

/* line 36, common.scss */
.bd-subColor { border-color: #f1883c; }

/* line 37, common.scss */
.baseFontColor { color: #313131; }

/* line 41, common.scss */
.jpG { font-family: "YakuHanJP", "Noto Sans JP", sans-serif; }

/* line 42, common.scss */
.jpM { font-family: "YakuHanMP", "Noto Serif JP", serif; }

/* line 43, common.scss */
.jpH { font-family: "YakuHanMP", "Shippori Mincho B1", serif; }

/* line 44, common.scss */
.en { font-family: "Montserrat", sans-serif; }

/* line 45, common.scss */
.enG { font-family: "Montserrat", sans-serif; }

/* line 46, common.scss */
.enM { font-family: "EB Garamond", serif; }

/* line 54, common.scss */
body { position: relative; }

/* line 55, common.scss */
body::after { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: white; z-index: 99999; pointer-events: none; opacity: 0; transition: opacity .3s ease-out; }

/* line 57, common.scss */
body.fade::after { opacity: 1; transition: opacity .5s ease-out; }

/* line 62, common.scss */
#wrapper { text-align: center; background: #fff; overflow: clip; position: relative; width: 100%; /*&::before{ content: ""; background: url("../jpg/07.jpg") no-repeat center top; width: 100%; height: 100%; opacity: .3; position: absolute; top: -20px; left: 0; z-index: 0;}*/ }

/* line 65, common.scss */
#wrapper, header, #header, footer, #footer, main { min-width: 1200px; }

/* line 66, common.scss */
main { padding-top: 115px; padding-bottom: 60px; /*opacity: .5;*/ }

/* line 67, common.scss */
.inner { max-width: 1100px; margin: auto; }

/* line 68, common.scss */
.innerW { max-width: 1200px; margin: auto; }

/* line 70, common.scss */
section { /* text-align:left;*/ }

@media only screen and (max-width: 750px) { /* line 75, common.scss */
  #wrapper { /*overflow-x: hidden;*/ }
  /* line 76, common.scss */
  #wrapper, header, #header, footer, #footer, main { min-width: 100%; }
  /* line 77, common.scss */
  main { padding-top: 80px; padding-bottom: 50px; }
  /* line 78, common.scss */
  .inner, .innerW { max-width: 100%; } }
/* line 83, common.scss */
a, a:link, a:visited { color: #0091df; text-decoration: none; outline: none; transition: .5s; display: inline-block; }

/* line 84, common.scss */
a:hover { color: rgba(0, 145, 223, 0.5); text-decoration: none; transition: .5s; opacity: .7; }

/* line 85, common.scss */
a img { transition: .5s; }

/*a:hover img{ opacity: 0.6;}*/
/* line 87, common.scss */
*::selection { background: rgba(0, 145, 223, 0.5); color: #fff; }

@media print, screen and (min-width: 751px) { /* line 94, common.scss */
  .sp, .spOnly, .tbOnly { display: none !important; }
  /* line 95, common.scss */
  .pc, .pc-tb { display: inline-block !important; vertical-align: top !important; }
  /* line 96, common.scss */
  .pc-sp { display: inline-block !important; vertical-align: top !important; }
  /* スマホのみtellink有効（init.jsにも要設定） */
  /* line 98, common.scss */
  a[href^="tel:"] { cursor: default; } }
@media only screen and (max-width: 750px) { /* line 105, common.scss */
  .pc, .tbOnly, .pc-tb { display: none !important; margin: 0; padding: 0; width: 0; height: 0; }
  /* line 106, common.scss */
  .sp, .spOnly { display: inline-block !important; vertical-align: top !important; }
  /* line 107, common.scss */
  .pc-sp { display: inline-block !important; vertical-align: top !important; } }
@media screen and (min-width: 601px) and (max-width: 750px) { /* line 114, common.scss */
  .pc, .spOnly { display: none !important; margin: 0; padding: 0; width: 0; height: 0; }
  /* line 115, common.scss */
  .sp, .tbOnly, .pc-tb { display: inline-block !important; vertical-align: top !important; }
  /* line 116, common.scss */
  .pc-sp { display: none !important; margin: 0; padding: 0; width: 0; height: 0; } }
