@charset "UTF-8";
:root {
  --toso-color: #00909f;
  --main-font-color: #464646;
  --light-gray: #d4dcd6;
  --main-color: #d3b8bd;
  --main-color-bg: #f5eff0;
  --link-color: #a26576;
  --header-height: 72px;
  --header-height-padding: calc(72px + 30px);
  --solid-color: #d1d8e4;
  --main-width: 1280px;
  --inner-width: 1180px;
  --border-color: #c9c9c9;
}
@media print, screen and (max-width: 1280px) {
  :root {
    --main-width: 100%;
    --inner-width: 100%;
  }
}
@media print, screen and (max-width: 999px) {
  :root {
    --header-height: 55px;
    --header-height-padding: calc(55px + 24px);
    --sp-inner-width: calc(100% - 20px);
  }
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

*, :after, :before {
  box-sizing: inherit;
}

* {
  box-sizing: border-box;
}

html {
  background-color: #fff;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: var(--main-font-color);
  word-wrap: break-word;
  font-size: 13px;
  scroll-behavior: smooth;
}

body {
  font-size: 14px;
  font-weight: 400;
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
  color: var(--main-font-color);
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, html, iframe, legend, li, ol, p, pre, textarea, ul {
  margin: 0;
  padding: 0;
}

audio, img, video {
  height: auto;
  max-width: 100%;
}

img {
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
}

a {
  color: currentColor;
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
}

ul {
  list-style: none;
}

input[type=button], input[type=submit], button {
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  background-color: inherit;
  padding: 0.3rem 1rem;
}
input[type=button]:hover, input[type=button]:focus, input[type=submit]:hover, input[type=submit]:focus, button:hover, button:focus {
  transition-duration: 1s;
}

/* common
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-bold {
  font-weight: bold;
}

/* ラジオボタン */
input[type=radio] {
  display: none;
}

/*チェックボックス*/
input[type=checkbox] {
  display: none;
}

option:disabled {
  color: var(--light-gray);
}

button {
  background-color: transparent;
  padding: 0;
}

.outline-btn {
  color: #A1848F;
  border: #A1848F solid 1px;
  background: #fff;
}
.outline-btn:hover {
  opacity: 0.5;
}
.outline-btn svg.link-mark path:first-child {
  fill: var(--main-color) !important;
}
.outline-btn svg.link-mark path:nth-child(2) {
  fill: none !important;
  stroke: var(--main-color);
  stroke-linecap: round;
  stroke-miterlimit: 10;
}

.fill-btn {
  color: #fff;
  border: var(--main-color) solid 1px;
  background: var(--main-color);
}
.fill-btn:hover {
  opacity: 0.5;
}
.fill-btn svg.link-mark path:first-child {
  fill: #fff !important;
}
.fill-btn svg.link-mark path:nth-child(2) {
  fill: none !important;
  stroke: #fff;
  stroke-linecap: round;
  stroke-miterlimit: 10;
}

.login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-btn svg {
  margin-left: 2rem;
}

/* flex box
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.justify-center {
  justify-content: center;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.row .col {
  width: 100%;
}

.row .col-1 {
  width: 8.3333333333%;
}

.row .col-2 {
  width: 16.6666666667%;
}

.row .col-3 {
  width: 25%;
}

.row .col-4 {
  width: 33.3333333333%;
}

.row .col-5 {
  width: 41.6666666667%;
}

.row .col-6 {
  width: 50%;
}

.row .col-7 {
  width: 58.3333333333%;
}

.row .col-8 {
  width: 66.6666666667%;
}

.row .col-9 {
  width: 75%;
}

.row .col-10 {
  width: 83.3333333333%;
}

.row .col-11 {
  width: 91.6666666667%;
}

.row .col-12 {
  width: 100%;
}

@media print, screen and (min-width: 321px) {
  .row .col-s-12 {
    width: 100%;
  }
  .row .col-s-11 {
    width: 91.6666666667%;
  }
  .row .col-s-10 {
    width: 83.3333333333%;
  }
  .row .col-s-9 {
    width: 75%;
  }
  .row .col-s-8 {
    width: 66.6666666667%;
  }
  .row .col-s-7 {
    width: 58.3333333333%;
  }
  .row .col-s-6 {
    width: 50%;
  }
  .row .col-s-5 {
    width: 41.6666666667%;
  }
  .row .col-s-4 {
    width: 33.3333333333%;
  }
  .row .col-s-3 {
    width: 25%;
  }
  .row .col-s-2 {
    width: 16.6666666667%;
  }
  .row .col-s-1 {
    width: 8.3333333333%;
  }
}
@media print, screen and (min-width: 751px) {
  .row .col-m-12 {
    width: 100%;
  }
  .row .col-m-11 {
    width: 91.6666666667%;
  }
  .row .col-m-10 {
    width: 83.3333333333%;
  }
  .row .col-m-9 {
    width: 75%;
  }
  .row .col-m-8 {
    width: 66.6666666667%;
  }
  .row .col-m-7 {
    width: 58.3333333333%;
  }
  .row .col-m-6 {
    width: 50%;
  }
  .row .col-m-5 {
    width: 41.6666666667%;
  }
  .row .col-m-4 {
    width: 33.3333333333%;
  }
  .row .col-m-3 {
    width: 25%;
  }
  .row .col-m-2 {
    width: 16.6666666667%;
  }
  .row .col-m-1 {
    width: 8.3333333333%;
  }
}
@media print, screen and (max-width: 320px) {
  .row .col-s-hidden {
    display: none;
  }
}
@media print, screen and (max-width: 750px) {
  .row .col-m-hidden {
    display: none;
  }
}
/*
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.pt-0 {
  padding-top: 0;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pb-0 {
  padding-bottom: 0;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.w-80 {
  width: 80px;
}

.w-200 {
  width: 200px;
}

.w-280 {
  width: 280px;
}

.h-50 {
  height: 50px;
}

.f-18 {
  font-size: 18px;
}

.grid-col-2 {
  grid-column: span 2;
}

.euro-lang {
  font-family: "Raleway", sans-serif;
}

.caution {
  color: #f00;
}

div.under-bar {
  max-width: 1180px;
  width: 100%;
  height: 1px;
  background-color: var(--main-color);
  margin: 1rem auto;
}

svg text {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", sans-serif;
}
svg.toso-logo path {
  fill: var(--main-font-color);
}
svg.down-arrow path {
  fill: none !important;
  stroke: var(--main-font-color);
  stroke-linecap: round;
  stroke-linejoin: round;
}
svg.login-mark path {
  fill: none !important;
}
svg.play_mark circle {
  fill: var(--main-color);
}
svg.play_mark path {
  fill: #fff;
}

/*
–––––––––––––––––––––––––––––––––––––––––––––––––– */
header.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: 5;
  background: #fff;
}
header.l-header .l-pcHeader {
  box-shadow: 0 3px 7px 0 #e8e8e8;
  height: 100%;
}
@media print, screen and (min-width: 1201px) {
  header.l-header .l-pcHeader .header_menu {
    max-width: var(--main-width);
    width: 100%;
    height: 60px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media print, screen and (max-width: 1200px) {
  header.l-header .l-pcHeader {
    display: none;
  }
}
header.l-header .l-pcHeader .title-logo {
  min-width: 160px;
  height: 30px !important;
  padding-left: 50px;
  display: flex;
  gap: 30px;
}
header.l-header .l-pcHeader .title-logo a {
  display: block;
}
header.l-header .l-pcHeader ul.right_menu {
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;
  font-size: 14px;
}
header.l-header .l-pcHeader ul.right_menu li:not(.btn) {
  padding-right: 37px;
}
header.l-header .l-pcHeader ul.right_menu li.entry-btn {
  margin-right: 20px;
}
header.l-header .l-pcHeader ul.right_menu li:hover {
  opacity: 0.5;
}
header.l-header .l-pcHeader ul.right_menu li a {
  display: flex;
}
header.l-header .l-pcHeader ul.right_menu li a > div.svg_down_arrow {
  margin-left: 0.5rem;
  width: 8px !important;
  height: 4px !important;
  position: relative;
  top: -2px;
}
header.l-header .l-pcHeader ul.right_menu button {
  width: 140px;
  height: 28px;
}
header.l-header .l-pcHeader ul.right_menu button.outline-btn {
  padding: 5px 0;
}
header.l-header .l-pcHeader ul.right_menu button.fill-btn {
  padding: 5px 0;
}
header.l-header .l-pcHeader ul.right_menu button.fill-btn svg {
  margin-left: 1rem;
}
header.l-header .l-spHeader {
  box-shadow: 0 3px 7px 0 #e8e8e8;
  position: relative;
  z-index: 5;
  backdrop-filter: blur(9.7px);
  background-color: #fff;
  border-bottom: 1px solid var(--light-gray);
  padding-bottom: 0;
  height: var(--header-height);
}
@media print, screen and (min-width: 1200px) {
  header.l-header .l-spHeader {
    display: none;
  }
}
header.l-header .l-spHeader .l-spHeader__inner {
  display: flex;
  align-items: center;
  height: 100%;
}
header.l-header .l-spHeader .l-spHeader__inner .l-spHeader__logo {
  width: 68px;
  height: 18px;
  margin-left: 14px;
}
header.l-header .l-spHeader .l-spHeader__inner #modal_btn {
  margin-right: 1.5rem;
  border: none;
  margin-left: auto;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 0;
}
header.l-header .l-spHeader .l-spHeader__inner #modal_btn svg {
  width: 22px !important;
  height: 18px !important;
  cursor: pointer;
}
header.l-header .l-spHeader .l-spHeader__inner #modal_btn svg#modal_btn_close {
  display: none;
}
header.l-header div#sp_modal {
  display: none;
  position: absolute;
  top: 45px;
  left: 0;
  width: 100%;
  /* height: 300px; */
  height: auto;
  z-index: 5;
  background: #fff;
  bottom: auto;
  max-height: none;
}
header.l-header div#sp_modal.extention {
  height: 250px;
}
header.l-header div#sp_modal.closed {
  height: 150px;
}
header.l-header div#sp_modal ul li {
  display: flex;
  align-items: center;
  height: 50px;
  border-bottom: solid 1px var(--light-gray);
  justify-content: space-between;
  padding: 0 25px 0 28px;
}
header.l-header div#sp_modal ul li:first-child {
  border-top: solid 1px var(--light-gray);
}
header.l-header div#sp_modal ul li svg.down-arrow {
  width: 14px !important;
  height: 7px !important;
}
header.l-header div#sp_modal ul li a {
  height: 100%;
  font-size: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#main {
  width: 100%;
}
#main div.l-wrapper {
  margin: 0 auto;
}
@media print, screen and (max-width: 750px) {
  #main div.l-wrapper {
    width: 100%;
  }
}

div#main aside.contact {
  margin: 0 auto 75px;
}
div#main aside.contact .svg {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: 120px;
}
div#main aside.contact .svg > div {
  width: 52px;
}
div#main aside.contact .svg svg text {
  fill: var(--main-font-color);
}
@media print, screen and (max-width: 750px) {
  div#main aside.contact {
    margin: 0 auto 41px;
  }
}

footer {
  width: 100%;
  background-color: var(--main-color);
  color: #fff;
}
footer > div {
  max-width: 1180px;
  height: 47px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media print, screen and (max-width: 750px) {
  footer {
    padding: 1rem 0;
  }
  footer > div {
    flex-wrap: wrap;
  }
  footer div.left, footer div.Copyright {
    width: 100%;
    text-align: center;
  }
}

.c-totop {
  width: 50px;
  position: fixed;
  bottom: 0;
  right: 0;
  display: none;
  z-index: 5;
  border: 1px solid var(--light-gray);
}

.c-totop.js-active {
  display: block;
}

@media print, screen and (min-width: 751px) {
  .c-totop {
    border-right: none;
    border-bottom: none;
  }
}
@media print, screen and (max-width: 750px) {
  .c-totop {
    width: 12%;
    bottom: 10px;
    right: 2%;
  }
}
@media print, screen and (min-width: 751px) {
  .pc-display {
    display: block;
  }
  .sp-display {
    display: none !important;
  }
}
@media print, screen and (max-width: 750px) {
  .pc-display {
    display: none !important;
  }
  .sp-display {
    display: block;
  }
}
