@charset "UTF-8";

/* ================================================== */
/* base */
/* ================================================== */
html {
  font-size: 62.5%;
  height: 100%;
}

body {
  color: #222222;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica,
  '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック','Yu Gothic',
  'Hiragino Kaku Gothic ProN','メイリオ', arial, Meiryo,
  'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  font-size: 2rem;
  font-weight: 400;
  height: 100%;
  line-height: 2;
  width: 100%;
}

img {
  vertical-align: top;
}

/* ================================================== */
/* button */
/* ================================================== */
.button {
  background-color: transparent;
  border: none;
  border-radius: 0;
  cursor: auto;
  display: block;
  height: auto;
  padding: 0;
  text-align: left;
}

.button a,
.toggle a {
  line-height: 1.5;
  text-decoration: none;
}

.button a {
  background-color: #EFCA50;
  border-radius: 5rem;
  color: #222222;
  display: inline-block;
  font-size: 3rem;
  padding: 2rem 4rem;
}
.button a:hover {
  background-color: #AD8500;
  color: #ffffff;
}

.toggle {
  display: flex;
}

.toggle li a {
  background-color: #F7E4A7;
  color: #958C6D;
  padding: .5rem 1rem;
}
.toggle li:first-child a {
  border-radius: 4rem 0 0 4rem;
}
.toggle li:last-child a {
  border-radius: 0 4rem 4rem 0;
}
.toggle li a:hover {
  background-color: #AD8500;
  color: #ffffff;
}

.toggle .toggle_enable a {
  background-color: #EFCA50;
  color: #222222;
}

@media screen and (max-width: 767px) {
  .button a {
    font-size: 2.6rem;
  }
  
  .toggle li a {
    align-items: center;
    display: flex;
  }
}

/* ================================================== */
/* card */
/* ================================================== */
.cards {
  display: flex;
}

.cards_card {
  background: #ffffff;
  border-radius: 4rem;
  flex: 1;
  margin-right: 3rem;
  overflow: hidden;
}
.cards_card:last-child {
  margin-right: 0;
}

.cards_card img {
  vertical-align: top;
}

.cards_card_content {
  padding: 4rem;
}

a.cards_card {
  line-height: 1.5;
  text-decoration: none;
}
a.cards_card:hover {
  color: #ffffff;
}
a.cards_card:hover img {
  opacity: .75;
}
a.cards_card:hover .cards_card_content {
  background-color: #AD8500;
}

a.cards_card .cards_card_content {
  background-color: #EFCA50;
  font-size: 3rem;
  padding: 2rem;
  text-align: center;
}

.cards_small-content h3 {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .cards {
    flex-direction: column;
  }

  .cards_card {
    margin: 0 0 2rem;
  }
  .cards_card:last-child {
    margin: 0;
  }
}

/* ================================================== */
/* color */
/* ================================================== */
.bc_red {
  background-color: rgba(255,0,0,.1);
}

.bc_yellow {
  background-color: #EFCA50;
}

.bc_light-yellow {
  background-color: #FFF7DD;
}

.c_red {
  color: #ff0000;
}

.c_white {
  color: #ffffff;
}

.c_yellow {
  color: #FFE200;
}

/* ================================================== */
/* image */
/* ================================================== */
img {
  display: block;
  margin: 0 auto;
  width: 100%;
}

.sns-icon {
  height: 24px;
  width: 24px;
}

/* ================================================== */
/* layout */
/* ================================================== */
section {
  padding: 10rem 0;
}

.narrow-content {
  margin: 0 auto;
  max-width: 768px;
  width: 100%;
}

.group {
  margin-bottom: 4rem;
}
.group:last-child {
  margin-bottom: 0;
}

.group_group {
  margin-bottom: 2rem;
}
.group_group:last-child {
  margin-bottom: 0;
}

.layout_image-text,
.layout_text-image {
  display: flex;
}

.layout_image-text figure,
.layout_text-image figure {
  flex-shrink: 0;
  max-width: 347px;
  text-align: center;
  width: 100%;
}

.layout_image-text figure {
  margin-right: 5rem;
}

.layout_text-image figure {
  margin-left: 5rem;
}

.layout_image-text figure img,
.layout_text-image figure img {
  width: 100%;
}

.layout_image-text figure img {
  border-radius: 10rem 15rem 20rem 25rem;
}

.layout_text-image figure img {
  border-radius: 25rem 20rem 15rem 10rem;
}

.layout_row {
  align-items: center;
  display: flex;
}

.layout_row span {
  margin-right: 2rem;
}
.layout_row-small span {
  margin-right: 1rem;
}
.layout_row span:last-child,
.layout_row-s span:last-child {
  margin-right: 0;
}

.ta_center {
  text-align: center;
}

.ta_right {
  text-align: right!important;
}

@media screen and (min-width: 1024px) {
  .container {
    margin: 0 auto;
    max-width: 1080px!important;
    padding: 0 1rem;
    width: 100%;
  }
}

@media screen and (max-width: 1023px) {
  .container {
    max-width: 768px;
    padding: 0 2rem;
  }

  .layout_image-text,
  .layout_text-image {
    align-items: center;
  }

  .layout_image-text {
    flex-direction: column-reverse;
  }

  .layout_text-image {
    flex-direction: column;
  }

  .layout_image-text figure,
  .layout_text-image figure {
    margin: 4rem 0 0;
  }
}

/* ================================================== */
/* list */
/* ================================================== */
dl dt {
  font-weight: 800;
  margin-bottom: 1rem;
}

dl dd {
  font-weight: 400;
  margin-bottom: .5rem;
}
dl dd:last-child {
  margin-bottom: 0;
}

.list_disc li,
.list_note li {
  margin-bottom: 1rem;
}
.list_disc li:last-child,
.list_note li:last-child {
  margin-bottom: 0;
}

.list_disc li {
  list-style: disc inside;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.list_note {
  font-size: 1.6rem;
  line-height: 1.5;
}

.list_note li {
  padding-left: 1.1em;
  text-indent: -1.1em;
}
.list_note li:last-child {
  margin-bottom: 0;
}
.list_note li::before {
  content: '*';
  margin-right: .5rem;
}

/* ================================================== */
/* tab */
/* ================================================== */
.tab-header {
  border-bottom: 1px solid #222222;
  color: #887639;
  display: flex;
  font-size: 3rem;
  font-weight: 800;
}

.tab-header .tab-trigger {
  border-bottom: 6px solid #EFCA50;
  cursor: pointer;
  flex: 1;
  text-align: center;
}
.tab-header .tab-trigger:hover {
  color: #222222;
}
.tab-header .tab-trigger.is-active {
  color: #222222;
  border-bottom: 6px solid #222222;
}

.tab-content {
  display: none;
}

.tab-content.is-display {
  display: block;
}

@media screen and (max-width: 767px) {
  .tab-header {
    font-size: 2rem;
  }
}

/* ================================================== */
/* table */
/* ================================================== */
table {
  font-size: 1.6rem;
  font-weight: 800;
  width: 100%;
}

table tr {
  border-bottom: 1px solid #222222;
}
table tr:first-child th,
table tr:first-child td {
  padding: 0 0 2rem;
}
table tr:last-child th,
table tr:last-child td {
  padding: 2rem 0 0;
}
table tr:last-child {
  border-bottom: none;
}

table tr th,
table tr td {
  line-height: 1.5;
  padding: 2rem 0;
}

@media screen and (max-width: 767px) {
  table {
    font-size: 1.4rem;
  }
}

/* ================================================== */
/* typography */
/* ================================================== */
a, h1, h2, h3, h4 {
  font-weight: 800;
}

a {
  color: #222222;
  text-decoration: underline;
}
a:hover {
  color: #AD8500;
}

h1 {
  background: rgba(255,255,255,.9);
  color: #000000;
  display: inline-block;
  font-size: 6rem;
  line-height: 1.2;
  padding: 3rem;
}

h2 {
  font-size: 5rem;
  line-height: 1.5;
}

h3 {
  font-size: 3rem;
  line-height: 1.5;
}

.h1_small,
.h1_ruby,
.h2_small,
.h3_small {
  display: block;
}

.h1_small {
  color: #222222;
  font-size: 1.4rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.h1_ruby {
  font-size: 2rem;
}

.h2_small {
  font-size: 2.5rem;
}

.h3_small {
  font-size: 2rem;
}

.icon-text-link {
  display: flex;
}
.icon-text-link::before {
  margin-right: .5rem;
}

.icon-text-link_place::before {
  content: '\e55f';
  font-family: Material Icons;
}

.icon-text-link_phone::before {
  content: '\e0cd';
  font-family: 'Material Icons';
}

.icon-text-link_web::before {
  content: '\e051';
  font-family: 'Material Icons';
}

.strong-text {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.5;
}

.fs_small {
  font-size: 1.6rem;
}

.fw_bold {
  font-weight: 800;
}

@media screen and (max-width: 767px) {
  h2 {
    font-size: 4rem;
  }
}

/* ================================================== */
/* header */
/* ================================================== */
header {
  background-color: rgba(255,255,255,.95);
  font-size: 1.6rem;
  padding: 1rem;
  position: fixed;
  width: 100%;
  z-index: 1;
}

header .container {
  padding: 0;
}

header a {
  text-decoration: none;
}

header #header_pc-and-tablet {
  display: flex;
  justify-content: space-between;
}

header #header_pc-and-tablet .header_pc-and-tablet_left {
  flex-shrink: 0;
}

header #header_pc-and-tablet .header_pc-and-tablet_left img {
  height: 48px;
}

header #header_pc-and-tablet .header_pc-and-tablet_right {
  align-items: center;
  display: flex;
  justify-content: end;
}

header #header_pc-and-tablet .header_pc-and-tablet_right .header_pc-and-tablet_right_text {
  display: flex;
  margin: 0 2rem;
}

header #header_pc-and-tablet .header_pc-and-tablet_right .header_pc-and-tablet_right_text li {
  margin-right: 2rem;
}
header #header_pc-and-tablet .header_pc-and-tablet_right .header_pc-and-tablet_right_text li:last-child {
  margin-right: 0;
}

header #header_pc-and-tablet .header_pc-and-tablet_right .sns {
  display: flex;
  line-height: 0;
  margin: 0 0 0 2rem;
}

header #header_pc-and-tablet .header_pc-and-tablet_right .sns li {
  margin-right: 1rem;
}
header #header_pc-and-tablet .header_pc-and-tablet_right .sns li:last-child {
  margin-right: 0;
}

header #header_mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  header {
    font-size: 1.3rem;
    padding: 1rem;
  }

  header .container {
    padding: 0;
  }

  header #header_pc-and-tablet {
    display: none;
  }

  header #header_mobile {
    display: block;
  }

  header #header_mobile .header_mobile_top {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  
  header #header_mobile .header_mobile_top img {
    height: 36px;
  }

  header #header_mobile .header_mobile_top .buttons {
    align-items: center;
    display: flex;
    flex-shrink: 0;
  }

  header #header_mobile .header_mobile_bottom {
    margin-top: 1rem;
  }

  header #header_mobile .header_mobile_logo {
    margin-right: 1rem;
  }

  header #header_mobile .header_mobile_menus {
    display: flex;
    justify-content: center;
  }

  header #header_mobile .header_mobile_menus li a {
    align-items: center;
    display: flex;
    height: 36px;
    padding: 1rem;
  }

  header #header_mobile .buttons .sns {
    display: flex;
    line-height: 0;
    margin-left: 1rem;
  }

  header #header_mobile .buttons .sns li {
    margin-right: 1rem;
  }
  header #header_mobile .sns li:last-child {
    margin-right: 0;
  }

  header #header_mobile .buttons .sns li img {
    height: 24px;
    width: 24px;
  }
}

/* ================================================== */
/* hero-area */
/* ================================================== */
#hero-area {
  height: 500px;
  padding: 0;
}

#hero-area .hero-area_text {
  align-items: center;
  display: flex;
  height: 500px;
  justify-content: center;
  text-align: center;
}

/* ================================================== */
/* menu */
/* ================================================== */
#menu .container {
  background: url(../images/bg_menu.svg) repeat center top;
  background-size: 100%;
}

/* ================================================== */
/* contact-us */
/* ================================================== */
#contact-us p.ta_center {
  text-align: left;
}

/* ================================================== */
/* footer */
/* ================================================== */
footer {
  border-top: 1px solid #EBEBEB;
  font-size: 1.4rem;
  padding: 1rem;
  text-align: center;
}

footer .footer_logos {
  display: flex;
  justify-content: center;
}
footer .footer_logos img {
  height: 120px;
  width: auto;
}

/* ================================================== */
/* banner */
/* ================================================== */
.banner {
  text-align: center;
}

.banner img {
  border: 6px solid #FF7F00;
  display: inline-block;
  max-width: 384px;
  width: 100%;
}