@charset "UTF-8";
/*ResetCSS*/
@import url("bootstrap-reboot.css");
/*Fonts*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400&display=swap");
/*displayプロパティー */
.d-none {
  display: none; }

.d-block {
  display: block; }

.d-inline-block {
  display: inline-block; }

.d-inline {
  display: inline; }

@media (min-width: 768px) {
  .d-md-none {
    display: none; }

  .d-md-block {
    display: block; }

  .d-md-inline-block {
    display: inline-block; }

  .d-md-inline {
    display: inline; } }
@media (max-width: 767px) {
  .d-sp-none {
    display: none; }

  .d-sp-block {
    display: block; }

  .d-sp-inline-block {
    display: inline-block; }

  .d-sp-inline {
    display: inline; } }
/*flexプロパティー*/
.d-flex {
  display: flex;
  flex-wrap: wrap; }

.justify-content-end {
  justify-content: flex-end; }

.align-items-start {
  align-items: flex-start; }

.align-items-center {
  align-items: center; }

.align-items-end {
  align-items: flex-end; }

.justify-content-center {
  justify-content: center; }

.justify-content-between {
  justify-content: space-between; }

.justify-content-around {
  justify-content: space-around; }

.flex-row-reverse {
  flex-direction: row-reverse; }

.flex-col {
  flex-direction: column; }

@media (min-width: 768px) {
  .d-flex.flex-md-row-reverse, .d-md-flex.flex-md-row-reverse {
    flex-direction: row-reverse; }

  .d-md-flex {
    display: flex;
    flex-wrap: wrap; } }
/*positionプロパティー*/
.relative {
  position: relative; }

.absolute {
  position: absolute; }

/*基本設定*/
body {
  font-family: "Yu Gothic UI", "Noto Sans JP", "Meiryo UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "MS PGothic", sans-serif;
  color: black;
  letter-spacing: .01em; }

h1, h2, h3, h4, h5, h6 {
  letter-spacing: .04em;
  line-height: 1.4; }

p {
  line-height: 2.1;
  letter-spacing: .04em; }

.serif {
  font-family: "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "YuMincho", "MS PMincho", serif; }

.sans-serif {
  font-family: "Yu Gothic UI", "Noto Sans JP", "Meiryo UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "MS PGothic", sans-serif; }

.midashi-font {
  font-family: "Noto Sans JP", "Meiryo UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "MS PGothic", sans-serif; }

.font-mont {
  font-family: "Montserrat", sans-serif; }

figure {
  margin-bottom: 0; }

img {
  max-width: 100%;
  height: auto !important; }

iframe {
  max-width: 100%; }

@media (max-width: 767px) {
  table.sp-block > tbody, table.sp-block > tbody > tr, table.sp-block > tbody > tr > th, table.sp-block > tbody > tr > td {
    display: block; } }
.container-l {
  max-width: 1656px;
  width: 95.3%;
  margin-left: auto;
  margin-right: auto; }

.container {
  width: 95.3%;
  max-width: 1322px;
  margin-left: auto;
  margin-right: auto; }

.container-s {
  width: 85.3%;
  max-width: 1162px;
  margin-left: auto;
  margin-right: auto; }

.container-ss {
  width: 95.3%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto; }

/*float*/
.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.clearboth {
  clear: both; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.iframe-container {
  position: relative; }
  .iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*ボックスにリンクエリア*/
.linkbox {
  position: relative; }
  .linkbox:hover {
    background-color: #FFFAEE; }
  .linkbox a.more {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: -9999px;
    cursor: pointer; }

/*文字*/
.ex-small {
  font-size: 0.67em; }

.small {
  font-size: 0.9375em; }

.large {
  font-size: 1.368em; }

.ex-large {
  font-size: 1.6em; }

.bold {
  font-weight: 600; }

.normal {
  font-weight: 400; }

.underline {
  text-decoration: underline; }

.base-text-color {
  color: black; }

.theme-color {
  color: #E9AD2C; }

.bk-theme-color {
  background-color: #E9AD2C;
  color: white; }
  .bk-theme-color a {
    color: white; }

.bk-ex-light-theme-color {
  background-color: #FFFAEE; }

.bk-sub-color {
  background-color: #005BAC;
  color: white; }
  .bk-sub-color:hover {
    color: white; }
  .bk-sub-color a {
    color: white; }

.heavy-theme-color {
  color: #D2C093; }

.bk-heavy-theme-color {
  background-color: #D2C093;
  color: white; }

.sub-color {
  color: #005BAC; }

.bk-ex-light-sub-color {
  background-color: #EFF8FF; }

/*ボタン*/
.btn a {
  display: inline-block;
  padding: .5em 1em;
  line-height: 1.2;
  cursor: pointer; }

/*丸数字*/
.maru {
  display: inline-block;
  height: 1.5em;
  width: 1.5em;
  border-radius: 50%;
  line-height: 1.5em;
  text-align: center; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

@media (min-width: 768px) {
  .text-md-center {
    text-align: center; }

  .text-md-left {
    text-align: left; }

  .text-md-right {
    text-align: right; } }
@media (max-width: 767px) {
  .text-sp-center {
    text-align: center; }

  .text-sp-left {
    text-align: left; }

  .text-sp-right {
    text-align: right; }

  .text-sp-tategaki {
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl; } }
/*アンカー*/
a {
  color: #333; }
  a[href*="tel:"] {
    cursor: default;
    pointer-events: none; }
    a[href*="tel:"]:hover {
      color: black;
      text-decoration: none; }
    a[href*="tel:"].nolink {
      pointer-events: none; }

/*表組み*/
table.stripe > tbody > tr > th, table.stripe > tbody > tr > td {
  border: none; }
table th, table td {
  padding: .5em 1em;
  border: 1px solid #ccc; }
table th {
  font-weight: 600; }
table td {
  font-weight: normal; }

ul.ls-none, ol.ls-none {
  list-style: none;
  padding-left: 0; }

@media (min-width: 768px) {
  table.stripe {
    background-color: white; }
    table.stripe > tbody > tr:nth-child(odd) {
      background-color: #f7f7f7; }
      table.stripe > tbody > tr:nth-child(odd) > th {
        border-right: 2px solid white; } }
/*フォーム*/
.hissu::before {
  content: "必須";
  display: inline-block;
  background-color: #E9AD2C;
  color: white;
  border-radius: 3px;
  padding: .2em;
  line-height: 1;
  font-size: .8em;
  margin-right: .5em;
  position: relative;
  bottom: .1em; }

input[type="text"], input[type="tel"], input[type="email"], input[type="submit"], textarea {
  padding: .7em;
  width: 100%; }

input[type="text"], input[type="tel"], input[type="email"], textarea {
  border: 1px solid #ccc;
  border-radius: 5px; }

textarea::placeholder, input::placeholder {
  color: #ccc; }

/* IE */
input:-ms-input-placeholder {
  color: #ccc; }

/* Edge */
input::-ms-input-placeholder {
  color: #ccc; }

.dropdown-btn {
  cursor: pointer; }
  .dropdown-btn:hover {
    filter: brightness(1.05); }

.dropdown-content {
  display: none; }

/*開発用*/
.memo {
  padding: .3em .5em;
  background-color: #FFE7FC;
  border: 2px solid red;
  color: red;
  font-weight: 600;
  display: inline-block; }

.memo:before {
  content: '開発メモ';
  font-size: .9em;
  display: block;
  text-decoration: underline; }

body {
  overflow-x: hidden;
  background-color: white; }

li {
  line-height: 1.3; }

li, p {
  margin-bottom: 0; }

#mv {
  line-height: 0; }
  #mv img {
    width: 100%; }

section#about .content-sect {
  font-weight: 500; }
section h2 {
  text-align: center;
  margin-bottom: 0; }
  section h2 .txt {
    display: inline-block;
    padding: .4em 1.3em;
    border: 2px solid;
    border-radius: 4px; }
  section h2.y-50p {
    margin-bottom: -1.3em; }
    section h2.y-50p .txt {
      background-color: white; }
section .content-sect {
  border: 2px solid;
  border-radius: 8px; }
section table {
  width: 100%;
  border-top-width: 2px;
  border-top-style: solid; }
  section table tr {
    border-bottom-width: 2px;
    border-bottom-style: solid; }
    section table tr th, section table tr td {
      border: none;
      padding-top: 3em;
      padding-bottom: 3em;
      vertical-align: baseline; }
    section table tr th {
      font-weight: 600;
      min-width: 20vw; }
    section table tr td {
      line-height: 2.1; }
      section table tr td h3 {
        margin-bottom: .5em; }
      section table tr td > p {
        margin-bottom: 2em; }
section.flame-y .txt {
  border-color: #D2C093; }
section.flame-y .content-sect {
  border-color: #D2C093; }
section.flame-y table {
  border-color: #D2C093; }
  section.flame-y table tr {
    border-color: #D2C093; }
    section.flame-y table tr th, section.flame-y table tr td {
      border: none; }
section#contact {
  background-color: #EFF8FF; }
  section#contact h2 .txt {
    border-color: #005BAC; }
  section#contact .content-sect {
    border-color: #005BAC;
    background-color: white; }
    section#contact .content-sect h3 {
      line-height: 1.75;
      margin-bottom: 1em; }
      section#contact .content-sect h3 .kakko {
        font-weight: normal; }
    section#contact .content-sect .txt {
      border-color: #005BAC; }

.koshi picture img {
  width: 100%;
  display: block; }

.box-koshi {
  background-color: white;
  border-radius: 12px; }
  .box-koshi figure img {
    display: block;
    width: 100%;
    border-radius: 50%; }
  .box-koshi .txt p {
    font-size: 14px; }

.container-btn-entry {
  text-align: center; }
  .container-btn-entry .caution {
    background-color: #E9422C;
    color: white;
    font-weight: 600;
    padding: .5em 2em;
    line-height: 1.5; }
  .container-btn-entry .btn-entry a {
    display: block;
    background-color: #E9AD2C;
    color: white;
    border-radius: 8px;
    position: relative;
    font-weight: 600;
    transform: scale(1);
    transition: transform .2s;
    padding: calc(1em + 8px); }
    .container-btn-entry .btn-entry a::before, .container-btn-entry .btn-entry a::after {
      content: '';
      display: block;
      position: absolute; }
    .container-btn-entry .btn-entry a::before {
      border-radius: 8px;
      border: 1px solid white;
      transform: border-width .2s; }
    .container-btn-entry .btn-entry a::after {
      background-image: url("../images/arrow-r.svg");
      background-size: contain; }
    .container-btn-entry .btn-entry a:hover {
      text-decoration: none;
      transform: scale(1.01); }
      .container-btn-entry .btn-entry a:hover::before {
        border-width: 2px; }
    .container-btn-entry .btn-entry a .mont-font {
      letter-spacing: .1em; }

/*# sourceMappingURL=style.css.map */
