@charset "UTF-8";
/*-----------------------------------------------------

  Common CSS

-----------------------------------------------------*/
/*-----------------------------------------------------

  HTML5 Reset (Custom)

  Eric Meyer:: http://meyerweb.com
  HTML5 Doctor: http://html5doctor.com
  and the HTML5 Boilerplate:: http://html5boilerplate.com

-----------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
html, body, body div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-text-size-adjust: none;
}

article, aside, figure, footer, header, nav, section, details, summary {
  display: block;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img, object, embed {
  max-width: 100%;
  height: auto;
}

img {
  vertical-align: bottom;
}

html {
  overflow-y: scroll;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 100%;
  vertical-align: baseline;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000000;
  cursor: help;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

th {
  font-weight: normal;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #cccccc;
}

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */
}

table {
  font: 100%;
  font-size: inherit;
}

small {
  font-size: 85%;
}

strong {
  font-weight: bold;
}

td, td img {
  vertical-align: top;
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

.ie7 img {
  -ms-interpolation-mode: bicubic;
}

/*-----------------------------------------------------
  フォント
-----------------------------------------------------*/
/*
@font-face {
	font-family: YuGothicM;
	font-weight: normal;
	src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
}

.cardo {
	font-family: 'Cardo', serif;
}
.mincho {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
*/
/*-----------------------------------------------------
  共通
-----------------------------------------------------*/
html {
  font-size: 62.5%;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  html {
    font-size: 72.5%;
  }
}

body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, YuGothicM, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  line-height: 1.875;
  color: #333;
  letter-spacing: 0.1em;
  width: 100%;
  min-width: 1200px;
  margin: 0;
  position: relative;
  background-color: #FFFDE5;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  body {
    min-width: 0;
    font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, YuGothicM, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 1.1rem;
  }
}

a {
  color: #EC6D56;
  text-decoration: none;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  -webkit-transition-property: color;
  -o-transition-property: color;
  transition-property: color;
}

a:hover {
  color: #EC6D56;
}

a, button {
  outline: none;
}

a:focus, button:focus {
  outline: none;
}

#LogoSVG {
  position: absolute;
  width: 0;
  height: 0;
}

/*-----------------------------------------------------
  ユーティリティ
-----------------------------------------------------*/
.pc_bl {
  display: block  !important;
}

.pc_il {
  display: inline !important;
}

.pc_fx {
  display: -webkit-box   !important;
  display: -ms-flexbox   !important;
  display: flex   !important;
}

.sp_bl {
  display: none   !important;
}

.sp_il {
  display: none   !important;
}

.sp_fx {
  display: none   !important;
}

.br_pc {
  display: inline !important;
}

.br_sp {
  display: none   !important;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pc_bl {
    display: none   !important;
  }
  .pc_il {
    display: none   !important;
  }
  .pc_fx {
    display: none   !important;
  }
  .sp_bl {
    display: block  !important;
  }
  .sp_il {
    display: inline !important;
  }
  .sp_fx {
    display: -webkit-box   !important;
    display: -ms-flexbox   !important;
    display: flex   !important;
  }
  .br_pc {
    display: none   !important;
  }
  .br_sp {
    display: inline !important;
  }
}

.fw_normal {
  font-weight: normal !important;
}

.fw_bold {
  font-weight: bold !important;
}

.fc_red {
  color: #c90000;
}

.ta_center {
  text-align: center !important;
}

.ta_left {
  text-align: left !important;
}

.ta_right {
  text-align: right !important;
}

.ta_pc_center_sp_left {
  text-align: center !important;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .ta_pc_center_sp_left {
    text-align: left !important;
  }
}

.fl_left {
  float: left !important;
}

.fl_right {
  float: right !important;
}

.fl_none {
  float: none !important;
}

.dp_block {
  display: block !important;
}

.dp_i_block {
  display: inline-block !important;
}

.dp_none {
  display: none !important;
}

/* 背景黄色 */
.bg_yellow {
  background-color: #FFFDE5;
}

/* 文字色 */
.color_orange {
  color: #EC6D56;
}

/*-----------------------------------------------------
  フェード関連
-----------------------------------------------------*/
.fd {
  opacity: 0;
  -webkit-transition-duration: 1.0s;
  -o-transition-duration: 1.0s;
  transition-duration: 1.0s;
}

.fd[data-step='2'] {
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  transition-delay: .3s;
}

.fd[data-step='3'] {
  -webkit-transition-delay: .6s;
  -o-transition-delay: .6s;
  transition-delay: .6s;
}

.fd.b2t {
  opacity: 0;
  -webkit-transform: translateY(200px);
  -ms-transform: translateY(200px);
  transform: translateY(200px);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
}

.fd.b2t.fade {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  cursor: auto;
}

.fd.t2b {
  opacity: 0;
  -webkit-transform: translateY(-200px);
  -ms-transform: translateY(-200px);
  transform: translateY(-200px);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
}

.fd.t2b.fade {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  cursor: auto;
}

.fd.r2l {
  opacity: 0;
  -webkit-transform: translateX(300px);
  -ms-transform: translateX(300px);
  transform: translateX(300px);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
}

.fd.r2l.fade {
  opacity: 1;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  cursor: auto;
}

.fd.l2r {
  opacity: 0;
  -webkit-transform: translateX(-300px);
  -ms-transform: translateX(-300px);
  transform: translateX(-300px);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
}

.fd.l2r.fade {
  opacity: 1;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  cursor: auto;
}

/*-----------------------------------------------------
  共通フレーム
-----------------------------------------------------*/
#wrapper {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  background-color: #fffde5;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #wrapper {
    padding: 0;
  }
}

.inner {
  margin: 0 auto;
  padding: 100px 0;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .inner {
    padding: 12vw 4vw;
  }
}

.inner.w_full {
  width: 100%;
  max-width: 1380px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .inner.w_full {
    max-width: auto;
  }
}

.inner.w1200 {
  width: 1200px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .inner.w1200 {
    width: 100%;
  }
}

.inner.w1040 {
  width: 1040px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .inner.w1040 {
    width: 100%;
  }
}

.inner.w1000 {
  width: 1000px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .inner.w1000 {
    width: 100%;
  }
}

.inner.w900 {
  width: 900px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .inner.w900 {
    width: 100%;
  }
}

/*-----------------------------------------------------
  ヘッダー
-----------------------------------------------------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1200px;
  height: auto;
  padding: 25px 0 0;
  z-index: 9990;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header {
    min-width: 0;
    padding: 38px 4vw 38px;
  }
}

header .h_inner {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 55px;
  max-width: 1020px;
  margin: 0 auto;
  padding: 0 42px;
  border-radius: 100vw;
  -webkit-box-shadow: 0 0 8px rgba(35, 24, 21, 0.1);
  box-shadow: 0 0 8px rgba(35, 24, 21, 0.1);
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 38px;
    max-width: none;
    padding: 0;
  }
}

header .h_wrap {
  width: 260px;
  padding: 0;
  line-height: 1;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_wrap {
    width: 100%;
  }
}

header .h_wrap .h_logo {
  display: inline-block;
  text-align: center;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_wrap .h_logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 38px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

header .h_wrap .h_logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .12em;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_wrap .h_logo a {
    display: inline-block;
    width: auto;
    font-size: 1.5rem;
  }
}

header .h_wrap .h_logo a:hover {
  opacity: .7;
}

@media screen and (min-width: 768px) {
  header .h_menubtn {
    display: none;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_menubtn {
    display: block;
    position: absolute;
    top: 43px;
    right: calc( 4vw + 4.8vw - 5px);
    z-index: 100;
  }
}

header .h_menubtn a {
  display: block;
  width: 35px;
  height: 28px;
  padding: 5px;
}

header .h_menubtn a i {
  display: block;
  background-color: #EC6D56;
  width: 100%;
  height: 3px;
  margin-bottom: 4px;
  -webkit-transition-duration: .3s;
  -o-transition-duration: .3s;
  transition-duration: .3s;
}

header .h_nav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: calc(100% - 260px);
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav {
    position: static;
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    -webkit-animation-name: spMenuShow;
    animation-name: spMenuShow;
    -webkit-animation-duration: .6s;
    animation-duration: .6s;
  }
}

header .h_nav .h_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}

@-webkit-keyframes spMenuShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes spMenuShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

header .h_nav .h_menu li.lv1 > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 30px;
  font-size: 1.3rem;
  font-weight: bold;
  color: #999;
  letter-spacing: .2em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_menu li.lv1 > a {
    height: auto;
    font-weight: normal;
    color: #333;
  }
}

header .h_nav .h_menu li.lv1.crnt > a,
header .h_nav .h_menu li.lv1 > a:hover {
  color: #EC6D56;
}

header .h_nav .h_en {
  padding: 0 0 0 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_en {
    display: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 0;
  }
}

header .h_nav .h_en > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 28px;
  padding: 0 .5em;
  border: 1px solid #EC6D56;
  font-size: 1.4rem;
  font-weight: bold;
  color: #EC6D56;
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_en > a {
    width: auto;
    height: 24px;
    padding: 0 15px;
    border-radius: 12px / 50%;
    font-size: 1.2rem;
  }
}

header .h_nav .h_en > a:hover {
  background-color: #fff;
  color: #EC6D56;
}

header .h_nav .h_custodian {
  width: 248px;
  padding: 0 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_custodian {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 0;
  }
}

header .h_nav .h_custodian > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #EC6D56;
  width: 188px;
  height: 30px;
  border: 2px solid #EC6D56;
  border-radius: 15px / 50%;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_custodian > a {
    width: auto;
    height: 24px;
    padding: 0 15px;
    border-radius: 12px / 50%;
    font-size: 1.2rem;
  }
}

header .h_nav .h_custodian > a:hover {
  background-color: #fff;
  color: #EC6D56;
}

header .h_nav .has_sub {
  cursor: pointer;
}

header .h_nav .has_sub .submenu {
  display: none;
  position: absolute;
  top: 30px;
  left: 0;
  background-image: url(/assets/images/h_dots.svg);
  background-repeat: no-repeat;
  background-position: center 5px;
  background-size: 5px auto;
  width: auto;
  padding-top: 34px;
}

@media screen and (min-width: 768px) {
  header .h_nav .has_sub .submenu {
    -webkit-animation-name: submenuShow;
    animation-name: submenuShow;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

header .h_nav .has_sub .submenu .sm_inner {
  background-color: #fff;
  padding: 28px 25px 25px;
  border-radius: 12px;
}

header .h_nav .has_sub .submenu .sm_inner .sm_ul li {
  margin-bottom: .6em;
  line-height: 1;
}

header .h_nav .has_sub .submenu .sm_inner .sm_ul li a {
  padding-left: 18px;
  font-size: 1.4rem;
}

header .h_nav .has_sub .submenu .sm_inner .sm_ul li a::before {
  width: 14px;
  height: 14px;
}

header .h_nav .has_sub:hover .submenu {
  display: inline-block;
}

@-webkit-keyframes submenuShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes submenuShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .has_sub.h_custodian .submenu {
    display: none;
  }
}

header .h_nav .h_fb {
  width: 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_fb {
    position: absolute;
    top: 65px;
    right: 4.8vw;
    width: 26px;
    z-index: 0;
  }
}

header .h_nav .h_fb a {
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

header .h_nav .h_fb a:hover {
  opacity: .7;
}

header .h_nav .h_fb a img {
  width: 30px;
  height: auto;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header .h_nav .h_fb a img {
    width: 26px;
  }
}

header.fixed {
  background-color: #fff;
  width: 100%;
  padding: 0;
  -webkit-animation-name: headerShow;
  animation-name: headerShow;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header.fixed {
    height: 55px;
  }
}

header.fixed .h_inner {
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header.fixed .h_wrap .h_logo {
    height: 55px;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  header.fixed .h_menubtn {
    top: 12px;
    right: calc( 4.8vw - 5px);
  }
}

@-webkit-keyframes headerShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes headerShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

body.sp_mopen {
  height: 100vh;
  overflow: hidden;
}

body.sp_mopen #wrapper {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

body.sp_mopen footer {
  height: 0;
  overflow: hidden;
}

body.sp_mopen header {
  position: absolute;
  height: 100%;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  body.sp_mopen .h_menubtn {
    top: 30px;
    right: calc( 4.8vw - 5px);
  }
}

body.sp_mopen .h_menubtn a i {
  background-color: #333;
}

body.sp_mopen .h_menubtn a i:nth-child(1) {
  -webkit-transform: translateY(7px) rotate(45deg);
  -ms-transform: translateY(7px) rotate(45deg);
  transform: translateY(7px) rotate(45deg);
}

body.sp_mopen .h_menubtn a i:nth-child(2) {
  display: none;
}

body.sp_mopen .h_menubtn a i:nth-child(3) {
  -webkit-transform: translateY(0) rotate(-45deg);
  -ms-transform: translateY(0) rotate(-45deg);
  transform: translateY(0) rotate(-45deg);
}

body.sp_mopen .h_nav {
  display: block;
  background-color: rgba(252, 193, 140, 0.92);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 12vw 16vw;
  z-index: 99;
  overflow: auto;
}

body.sp_mopen .h_nav::before {
  content: 'MENU';
  display: block;
  margin-bottom: 12vw;
  padding-left: 1em;
  font-size: 2.0rem;
  color: #333;
  text-align: center;
  line-height: 1;
  letter-spacing: 1em;
}

body.sp_mopen .h_nav .h_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

body.sp_mopen .h_nav .h_menu li.lv1 {
  border-top: 1px solid #333;
}

body.sp_mopen .h_nav .h_menu li.lv1 > a {
  height: auto;
  padding: 8vw 0 8vw 10px;
}

body.sp_mopen .h_nav .h_menu li.lv1.crnt > a,
body.sp_mopen .h_nav .h_menu li.lv1 > a:hover {
  color: #333;
}

body.sp_mopen .h_nav .h_menu .has_sub {
  padding-bottom: 0;
}

body.sp_mopen .h_nav .h_menu .has_sub > a {
  position: relative;
}

body.sp_mopen .h_nav .h_menu .has_sub > a::before, body.sp_mopen .h_nav .h_menu .has_sub > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  background-color: #333;
  display: block;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

body.sp_mopen .h_nav .h_menu .has_sub > a::before {
  right: 0;
  width: 10px;
  height: 2px;
  margin-top: -1px;
}

body.sp_mopen .h_nav .h_menu .has_sub > a::after {
  right: 4px;
  width: 2px;
  height: 10px;
  margin-top: -5px;
}

body.sp_mopen .h_nav .h_menu .has_sub.on .submenu {
  display: inline-block;
}

body.sp_mopen .h_nav .h_menu .has_sub.on > a {
  color: #FDD7B4 !important;
}

body.sp_mopen .h_nav .h_menu .has_sub.on > a::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

body.sp_mopen .h_nav .h_menu .has_sub.on > a::after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

body.sp_mopen .h_nav .h_menu .has_sub.on .submenu .sm_inner .sm_ul li a {
  color: #fff;
}

body.sp_mopen .h_nav .h_menu .has_sub .submenu {
  display: none;
  position: static;
  background: none;
  width: 100%;
  margin-top: -2vw;
  padding: 0 0 0 10px;
}

body.sp_mopen .h_nav .h_menu .has_sub .submenu .sm_inner {
  background-color: transparent;
  padding: 0 0 8vw;
  border-radius: 0;
}

body.sp_mopen .h_nav .h_menu .has_sub .submenu .sm_inner .sm_ul li a {
  padding-left: 1.1em;
  font-size: 1.2rem;
  color: #333;
}

body.sp_mopen .h_nav .h_menu .has_sub .submenu .sm_inner .sm_ul li a::before {
  top: 0.5em;
  display: inline-block;
  background-color: #fff;
  width: 0.4em;
  height: 0.4em;
  border: 2px solid #fff;
}

body.sp_mopen .h_nav .h_menu .has_sub .submenu .sm_inner .sm_ul li a:hover {
  font-weight: bold;
  color: #fff;
}

body.sp_mopen .h_nav .h_menu .has_sub .submenu .sm_inner .sm_ul li a:hover::before {
  background-color: #fff;
  border: 2px solid #fff;
}

body.sp_mopen .h_nav .h_en {
  display: block;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin-top: 15px;
  padding: 0;
}

body.sp_mopen .h_nav .h_en > a {
  width: 100%;
  height: 24px;
  padding: 0 15px;
  border: 1px solid #333;
  border-radius: 0;
  font-size: 1.2rem;
  font-weight: normal;
  color: #333;
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

body.sp_mopen .h_nav .h_en > a:hover {
  background-color: #fff;
  color: #EC6D56;
}

/*-----------------------------------------------------
  フッター
-----------------------------------------------------*/
#float_btns {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 50px;
  width: 124px;
  z-index: 9000;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #float_btns {
    bottom: 4vw;
    right: 4vw;
    width: 80px;
  }
}

#float_btns a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  background-repeat: no-repeat;
  width: 124px;
  height: 124px;
  margin-bottom: 15px;
  padding-left: .2em;
  border-radius: 50%;
  -webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  font-weight: bold;
  letter-spacing: .2em;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #float_btns a {
    width: 80px;
    height: 80px;
    font-size: 1.0rem;
  }
}

#float_btns a.contact {
  background-image: url(/assets/images/ico_contact.png);
  background-position: center 68px;
  padding-bottom: 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #float_btns a.contact {
    background-position: center 42px;
    background-size: 28px auto;
    padding-bottom: 25px;
  }
}

#float_btns a.request {
  background-image: url(/assets/images/ico_request.png);
  background-position: center 55px;
  padding-bottom: 50px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #float_btns a.request {
    background-position: center 40px;
    background-size: 30px auto;
    padding-bottom: 25px;
  }
}

#float_btns a:hover {
  opacity: .7;
}

#float_btns.show {
  display: block;
  -webkit-animation-name: floatBtnsShow;
  animation-name: floatBtnsShow;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
}

@-webkit-keyframes floatBtnsShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes floatBtnsShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

footer .f_inner {
  width: 1200px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    padding: 0 4vw;
  }
}

footer .f_contacts {
  background-color: #FFFDE5;
  padding: 50px 0;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts {
    padding: 8vw 0;
  }
}

footer .f_contacts .cont-ttl {
  width: 100%;
  margin-bottom: 20px;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: #EC6D56;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont-ttl {
    font-size: 1.5rem;
    letter-spacing: .3em;
  }
}

footer .f_contacts .cont_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

footer .f_contacts .cont_wrap .cont_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  padding: 15px 0;
  border: 1px solid #EC6D56;
  border-radius: 12px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 12px 0;
  }
}

footer .f_contacts .cont_wrap .cont_box.tel {
  width: 550px;
}

footer .f_contacts .cont_wrap .cont_box.web {
  width: 635px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box.tel {
    width: 100%;
    margin-bottom: 12px;
  }
  footer .f_contacts .cont_wrap .cont_box.web {
    width: 100%;
  }
}

footer .f_contacts .cont_wrap .cont_box .ttl {
  padding: 0 25px;
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box .ttl {
    margin-bottom: 8px;
    font-size: 1.1rem;
  }
}

footer .f_contacts .cont_wrap .cont_box .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box .body {
    font-size: 1.0rem;
  }
}

footer .f_contacts .cont_wrap .cont_box .body .freedial {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 6px;
}

footer .f_contacts .cont_wrap .cont_box .body .freedial strong {
  margin-left: 5px;
  font-size: 3.0rem;
  font-weight: bold;
  color: #EC6D56;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box .body .freedial strong {
    font-size: 2.05rem;
  }
}

footer .f_contacts .cont_wrap .cont_box .body .freedial span {
  background-color: #FCE4D6;
  margin-top: 5px;
  margin-left: 5px;
  padding: 2px 0;
  text-align: center;
}

footer .f_contacts .cont_wrap .cont_box .btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box .btns {
    width: 100%;
    padding: 0 12px;
  }
}

footer .f_contacts .cont_wrap .cont_box .btns a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #EC6D56;
  width: 188px;
  height: 30px;
  border: 2px solid #EC6D56;
  border-radius: 15px / 50%;
  font-size: 1.4rem;
  color: #fff;
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box .btns a {
    width: calc(50% - 6px);
    height: 25px;
    border-radius: 13px / 50%;
    font-size: 0.95rem;
  }
}

footer .f_contacts .cont_wrap .cont_box .btns a:hover {
  background-color: #fff;
  color: #EC6D56;
}

footer .f_contacts .cont_wrap .cont_box .btns a:first-of-type {
  margin-right: 12px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_contacts .cont_wrap .cont_box .btns a:first-of-type {
    margin-right: 0;
  }
}

footer .f_nav {
  background-color: #FFFDE5;
  padding: 0 0 40px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav {
    padding: 0 8vw 4vw;
  }
}

footer .f_nav .f_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1200px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
  }
}

footer .f_nav .f_menu > li {
  width: 20%;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li {
    width: 50%;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li > ul {
    width: 100%;
    max-width: 140px;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li > ul > li {
    margin-bottom: 4vw;
  }
  footer .f_nav .f_menu > li > ul > li:nth-child(2) {
    margin-bottom: 0;
  }
}

footer .f_nav .f_menu > li > ul > li > a {
  display: inline-block;
  padding: 2px 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li > ul > li > a {
    font-size: 1.1rem;
    line-height: 1;
  }
}

footer .f_nav .f_menu > li > ul > li > ul {
  margin-top: 15px;
  padding-left: 13px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li > ul > li > ul {
    margin-top: 5px;
    padding-left: 8px;
  }
}

footer .f_nav .f_menu > li > ul > li > ul > li {
  margin-bottom: 3px;
}

footer .f_nav .f_menu > li > ul > li > ul > li > a {
  font-size: 1.4rem;
  line-height: 1.57143;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li > ul > li > ul > li > a {
    padding-left: 1.1em;
    font-size: 0.85rem;
  }
  footer .f_nav .f_menu > li > ul > li > ul > li > a::before {
    top: 0.4em;
    display: inline-block;
    width: 0.7em;
    height: 0.7em;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li:nth-child(5) {
    width: 100%;
    margin-top: 4px;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li:nth-child(5) > ul {
    width: 100%;
    max-width: none;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li:nth-child(5) > ul > li.f_link_custodian {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

footer .f_nav .f_menu > li:nth-child(5) > ul > li.f_link_custodian > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-image: url(/assets/images/f_link_custodian_pc.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  width: 240px;
  height: 140px;
  padding-left: 105px;
  font-size: 1.8rem;
  color: #fff;
  line-height: 1.5;
  letter-spacing: .06em;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_nav .f_menu > li:nth-child(5) > ul > li.f_link_custodian > a {
    background-image: url(/assets/images/f_link_custodian_sp.png);
    width: 180px;
    height: 67px;
    padding-left: 85px;
    font-size: 1.1rem;
    line-height: 1.45455;
  }
}

footer .f_nav .f_menu > li:nth-child(5) > ul > li.f_link_custodian > a:hover {
  opacity: .7;
}

footer .f_credit {
  background-color: #fff;
  padding: 50px 0 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit {
    padding: 4vw 0 3vw;
  }
}

footer .f_credit .f_inner {
  text-align: center;
}

footer .f_credit .f_inlinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_inlinks {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 15px;
  }
}

footer .f_credit .f_inlinks a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  width: 230px;
  height: 30px;
  margin: 0 5px;
  border: 2px solid #EC6D56;
  border-radius: 100vw;
  font-size: 1.4rem;
  font-weight: bold;
  color: #EC6D56;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_inlinks a {
    width: calc(50% - 6px);
    height: 25px;
    margin: 0;
    border: 1px solid #EC6D56;
    font-size: .85rem;
  }
}

footer .f_credit .f_inlinks a:hover {
  background-color: #EC6D56;
  color: #fff;
}

footer .f_credit .f_exlinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_exlinks {
    margin-bottom: 20px;
  }
}

footer .f_credit .f_exlinks a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 15px;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

footer .f_credit .f_exlinks a.fb {
  font-size: 1.4rem;
  font-weight: bold;
  color: #333;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_exlinks a.fb {
    font-size: 1.2rem;
  }
}

footer .f_credit .f_exlinks a.fb img {
  width: 30px;
  height: auto;
  margin-right: 8px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_exlinks a.fb img {
    width: 25px;
  }
}

footer .f_credit .f_exlinks a.youtube img {
  width: 108px;
  height: auto;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_exlinks a.youtube img {
    width: 90px;
  }
}

footer .f_credit .f_exlinks a:hover {
  opacity: .7;
}

footer .f_credit .f_logo {
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_logo {
    margin-bottom: 5px;
  }
}

footer .f_credit .f_logo a {
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

footer .f_credit .f_logo a:hover {
  opacity: .7;
}

footer .f_credit .f_logo a img {
  width: 124px;
  height: auto;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit .f_logo a img {
    width: 103px;
  }
}

footer .f_credit small {
  font-size: 1.2rem;
  color: #808080;
  line-height: 1;
  letter-spacing: 0;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  footer .f_credit small {
    padding: 0 0 20px;
    font-size: 1.0rem;
  }
}

/*-----------------------------------------------------
  共通パーツ
-----------------------------------------------------*/
/* 各ページ用ヘッドブロック */
#pagehd {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 25px 0 50px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd {
    padding: 0 4vw 8vw;
  }
}

#pagehd .mv {
  position: relative;
}

#pagehd .mv .main_pic {
  text-align: center;
}

#pagehd .mv .mv_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#pagehd .mv .page_ttl {
  position: absolute;
  top: 0;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 1000px;
  height: 100%;
  padding-bottom: 60px;
  font-size: 2.8rem;
  font-weight: bold;
  color: #EC6D56;
  line-height: 1.78571;
  letter-spacing: 0.3em;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd .mv .page_ttl {
    width: 100%;
    padding-left: 4vw;
    padding-bottom: 4vw;
    font-size: 1.2rem;
  }
}

#pagehd #topicspath {
  width: 900px;
  margin: 0 auto;
}

#pagehd #topicspath .tpath {
  letter-spacing: -.4em;
}

#pagehd #topicspath .tpath li {
  display: inline-block;
  padding: 20px 0;
  line-height: 1;
  letter-spacing: 0.025em;
}

#pagehd #topicspath .tpath li::after {
  content: '–';
  margin: 0 5px;
}

#pagehd #topicspath .tpath li:last-child::after {
  display: none;
}

#pagehd #topicspath .tpath li a,
#pagehd #topicspath .tpath li span {
  font-size: 1.3rem;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd #topicspath {
    display: none;
  }
}

#pagehd .intro {
  margin-top: 50px;
  padding-bottom: 50px;
  background-color: #fffde5;
  /* アイコン付きページタイトル */
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd .intro {
    margin-top: 30px;
    padding-bottom: 0;
  }
}

#pagehd .intro .ttl {
  font-size: 2.8rem;
  font-weight: bold;
  color: #EC6D56;
  background-color: #FCE4D6;
  text-align: center;
  letter-spacing: .2em;
  padding-bottom: 3%;
  margin:0 auto 8%;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd .intro .ttl {
    font-size: 1.4rem;
  }
}

#pagehd .intro .ttl_icon {
  position: relative;
  display: block;
  padding-top: 100px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd .intro .ttl_icon {
    padding-top: 50px;
  }
}

#pagehd .intro .ttl_icon img {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 74px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd .intro .ttl_icon img {
    width: 37px;
  }
}

#pagehd .intro .lead {
  margin-top: 40px;
  text-align: center;
  line-height: 2.5;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #pagehd .intro .lead {
    margin-top: 15px;
  }
}

/* お知らせ（一覧・詳細）共通ブロック・パーツ */
.list_post .post,
.detail_post .post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 40px 0;
  border-top: 2px solid #EC6D56;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post,
  .detail_post .post {
    display: block;
    padding: 4vw 0;
    border-top: 1px solid #EC6D56;
  }
}

.list_post .post:last-of-type,
.detail_post .post:last-of-type {
  border-bottom: 2px solid #EC6D56;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post:last-of-type,
  .detail_post .post:last-of-type {
    border-bottom: 1px solid #EC6D56;
  }
}

.list_post .post .box_txt,
.detail_post .post .box_txt {
  font-size: 1.8rem;
  line-height: 1.94444;
  letter-spacing: .2em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt,
  .detail_post .post .box_txt {
    width: 100%;
    font-size: 1.0rem;
    line-height: 1.75;
  }
}

.list_post .post .box_txt .ttl,
.detail_post .post .box_txt .ttl {
  font-weight: bold;
  color: #EC6D56;
}

.list_post .post .box_txt .desc,
.detail_post .post .box_txt .desc {
  margin-bottom: .8em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt .desc,
  .detail_post .post .box_txt .desc {
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt .detail,
  .detail_post .post .box_txt .detail {
    text-align: center;
  }
}

.list_post .post .box_txt .detail .btn,
.detail_post .post .box_txt .detail .btn {
  width: 225px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt .detail .btn,
  .detail_post .post .box_txt .detail .btn {
    width: auto;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.list_post .post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.list_post .post .box_txt {
  width: calc(100% - 380px);
  padding-right: 40px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt {
    width: 100%;
    padding-right: 0;
  }
}

.list_post .post .box_txt .date_cate {
  margin-bottom: .5em;
}

.list_post .post .box_txt .ttl {
  margin-bottom: 1em;
  font-size: 2.0rem;
  line-height: 1.7;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt .ttl {
    font-size: 1.2rem;
    line-height: 1.66667;
  }
}

.list_post .post .box_txt .pic {
  display: none;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_txt .pic {
    display: block;
    padding: 4vw 25%;
    text-align: center;
  }
  .list_post .post .box_txt .pic img {
    width: 100%;
    height: auto;
  }
}

.list_post .post .box_pic {
  width: 380px;
  text-align: center;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .list_post .post .box_pic {
    display: none;
  }
}

.detail_post .post {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.detail_post .post .box_txt {
  width: 100%;
  margin-bottom: 40px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .detail_post .post .box_txt {
    margin-bottom: 4vw;
  }
}

.detail_post .post .box_txt .date_cate {
  margin-bottom: 2.5em;
}

.detail_post .post .box_txt .ttl {
  margin-bottom: 1em;
  font-size: 2.2rem;
  line-height: 1.54545;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .detail_post .post .box_txt .ttl {
    font-size: 1.2rem;
    line-height: 1.66667;
  }
}

.detail_post .post .box_pic {
  width: 100%;
  text-align: center;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .detail_post .post .box_pic {
    padding: 0 14%;
  }
  .detail_post .post .box_pic img {
    width: 100%;
    height: auto;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .detail_post .post .body iframe {
    width: 92vw;
    height: 51.71vw;
  }
}

/* お知らせ（一覧・詳細）用ページナビゲーション */
.page_navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 50px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .page_navi {
    padding-top: 4vw;
  }
}

.page_navi .link_prev,
.page_navi .link_next {
  width: 80px;
}

.page_navi .link_prev {
  text-align: left;
}

.page_navi .link_prev a:before {
  content: '';
  display: inline-block;
  margin-right: .5em;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-right: 0.4em solid #EC6D56;
  border-left: 0;
}

.page_navi .link_next {
  text-align: right;
}

.page_navi .link_next a:after {
  content: '';
  display: inline-block;
  margin-left: .5em;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid #EC6D56;
  border-right: 0;
}

.page_navi .page_current {
  width: calc(100% - 160px);
  text-align: center;
}

.page_navi a,
.page_navi span {
  font-size: 1.8rem;
  font-weight: bold;
  color: #EC6D56;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .page_navi a,
  .page_navi span {
    font-size: 1.0rem;
  }
}

.page_navi a {
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.page_navi a:hover {
  opacity: .7;
}

/* よくあるご質問へのリンクボタン */
#faq_link {
  background-color: #fff;
  padding: 75px 0;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #faq_link {
    padding: 5vw 0;
  }
}

#faq_link .link_faq a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #EC6D56;
  width: 420px;
  height: 68px;
  margin: 0 auto;
  border: 2px solid #EC6D56;
  border-radius: 34px / 50%;
  font-size: 2.2rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: .2em;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #faq_link .link_faq a {
    width: 200px;
    height: 34px;
    border-radius: 17px / 50%;
    font-size: 1.4rem;
    letter-spacing: .2em;
  }
}

#faq_link .link_faq a:hover {
  background-color: #fff;
  color: #EC6D56;
}

/* WEB動画 */
#web_movie {
  overflow: hidden;
}

#web_movie .inner {
  width: 1320px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #web_movie .inner {
    width: 100%;
  }
}

#web_movie .sec_ttl {
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #web_movie .sec_ttl {
    margin-bottom: 4vw;
  }
}

#web_movie .list_movie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #web_movie .list_movie {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #web_movie .list_movie li {
    margin-bottom: 8vw;
  }
  #web_movie .list_movie li:last-child {
    margin-bottom: 0;
  }
}

#web_movie .list_movie li a {
  display: block;
  position: relative;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

#web_movie .list_movie li a:hover {
  opacity: .7;
}

#web_movie .list_movie li a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/ico_movieplay.png);
  background-repeat: no-repeat;
  background-position: center;
}

#web_movie .list_movie li .ttl {
  padding-top: 20px;
  text-align: center;
  line-height: 1.5;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  #web_movie .list_movie li .ttl {
    padding-top: 2vw;
  }
}

/* タイトル */
.sec_ttl {
  font-size: 2.8rem;
  font-weight: bold;
  color: #EC6D56;
  text-align: center;
  line-height: 1.78571;
  letter-spacing: .3em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .sec_ttl {
    font-size: 1.5rem;
  }
}

.sec_lead {
  text-align: center;
  line-height: 2.5;
}

/* アコーディオン用 基本クラス */
.acrd_wrap {
  overflow: hidden;
}

.acrd_wrap .acrd_head {
  cursor: pointer;
}

.acrd_wrap .acrd_body {
  position: relative;
  display: none;
  z-index: -1;
}

.acrd_wrap.open .acrd_body {
  display: block;
  -webkit-animation-name: acrdOpen;
  animation-name: acrdOpen;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
}

@-webkit-keyframes acrdOpen {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes acrdOpen {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

/* スマートフォン telリンク */
@media screen and (min-width: 768px) {
  a.callphone {
    pointer-events: none;
    color: inherit;
  }
  a.callphone:hover {
    text-decoration: none;
  }
}

/* リスト形式 */
.li-hd-circle li a {
  position: relative;
  display: inline-block;
  padding-left: 1.3em;
  color: #999;
  line-height: 1.57143;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.li-hd-circle li a::before {
  content: '';
  position: absolute;
  top: 0.3em;
  left: 0;
  display: inline-block;
  background-color: #E6E6E6;
  width: 0.95em;
  height: 0.95em;
  border: 2px solid #E6E6E6;
  border-radius: 50%;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.li-hd-circle li a:hover {
  color: #333;
}

.li-hd-circle li a:hover::before {
  background-color: transparent;
  border: 2px solid #EC6D56;
}

/* ボタンパターン */
.btn {
  display: inline-block;
  border-radius: 100vw;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .btn {
    padding: 7px 14px;
    border: 1px solid #EC6D56;
    font-size: 1.1rem;
  }
}

.btn.brd_orange {
  background-color: #fff;
  border: 3px solid #EC6D56;
  color: #EC6D56;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .btn.brd_orange {
    border: 1px solid #EC6D56;
  }
}

.btn.brd_orange:hover {
  background-color: #EC6D56;
  color: #fff;
}

.btn.fs22 {
  padding: 20px 0;
  font-size: 2.2rem;
  letter-spacing: .27em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .btn.fs22 {
    padding: 7px 14px;
    font-size: 1.1rem;
  }
}

.btn.fs20 {
  padding: 4px 0;
  border: 1px solid #EC6D56;
  font-size: 2.0rem;
  letter-spacing: .2em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .btn.fs20 {
    padding: 2px 14px;
    font-size: 1.2rem;
  }
}

.btn.fs15 {
  padding: 5px 0;
  border: 1px solid #EC6D56;
  font-size: 1.5rem;
  letter-spacing: .2em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .btn.fs15 {
    padding: 2px 14px;
    font-size: 1.1rem;
  }
}

/* ページャー  */
.pager-btn_wrap ul.inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner {
    width: 77.33333vw;
    padding-left: 0;
    padding-right: 0;
  }
}

.pager-btn_wrap ul.inner li {
  width: 486px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li {
    width: 36vw;
  }
}

.pager-btn_wrap ul.inner li .pager-btn_txt {
  display: block;
  font-size: 2.8rem;
  font-weight: bold;
  color: #EC6D56;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-bottom: 0.53571em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li .pager-btn_txt {
    font-size: 1.4rem;
  }
}

.pager-btn_wrap ul.inner li .btn {
  position: relative;
  display: block;
  border-width: 1px;
  font-size: 2.1rem;
  line-height: 1.52;
  letter-spacing: 0.16em;
  padding: 18px 0.5em;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li .btn {
    border-radius: 7px;
    height: 27.33333vw;
    padding: 18px 0;
    font-size: 1.08rem;
  }
}

@media only screen and (min-width: 320px) and (max-width: 374px) {
  .pager-btn_wrap ul.inner li .btn {
    font-size: 1.1rem;
  }
}

.pager-btn_wrap ul.inner li .btn:before {
  position: absolute;
  display: block;
  content: " ";
  border-top: 0.71429em solid transparent;
  border-bottom: 0.71429em solid transparent;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li .btn:before {
    top: auto;
    bottom: 17px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.pager-btn_wrap ul.inner li .btn span {
  font-weight: bold;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li .btn span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    height: calc( 100% - 30px);
  }
}

.pager-btn_wrap ul.inner li.back .btn {
  padding-left: 40px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li.back .btn {
    padding-left: 0;
  }
}

.pager-btn_wrap ul.inner li.back .btn:before {
  border-right: 0.7619em solid #EC6D56;
}

@media screen and (min-width: 768px) {
  .pager-btn_wrap ul.inner li.back .btn:before {
    left: 25px;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li.back .btn:before {
    border-right-width: 10px;
  }
}

.pager-btn_wrap ul.inner li.back .btn:hover:before {
  border-right-color: #fff;
}

.pager-btn_wrap ul.inner li.next .btn {
  padding-right: 40px;
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li.next .btn {
    padding-right: 0;
  }
}

.pager-btn_wrap ul.inner li.next .btn:before {
  border-left: 0.7619em solid #EC6D56;
}

@media screen and (min-width: 768px) {
  .pager-btn_wrap ul.inner li.next .btn:before {
    right: 25px;
  }
}

@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .pager-btn_wrap ul.inner li.next .btn:before {
    border-left-width: 10px;
  }
}

.pager-btn_wrap ul.inner li.next .btn:hover:before {
  border-left-color: #fff;
}

.pager-btn_wrap.single ul.inner {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 767px), only screen and (max-width: 812px) and (orientation: landscape) {
  .submit_tell_btn a{
    max-width: 60vw!important;
  }
}

/* 230413修正 */

.intro {
  padding: 3%;
  margin-bottom: 3%;
  background-color: #fce4d6;
  text-align: center;
}

.intro h1 {
  font-size: 30px;
  font-weight: bold;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, YuGothicM, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #ec6d56;
  margin-top: 10px;
  letter-spacing: 0.2em;
}

.intro p {
  font-size: 16px;
  font-weight: bold;
  color: #ec6d56;
  margin-top:30px;
  text-align:center;
  /* letter-spacing: 0.2em; */
}

.submit_tell_btn {
  margin-bottom: 2%;
}

.form_body_ttl {
  margin-left: 1%;
}

