@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lora&family=Noto+Serif+JP:wght@200..900&display=swap");
/* -- Reset --
--------------------------------------------------------------　*/
html,
body,
div,
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,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

input,
select {
  vertical-align: middle;
}

ol,
ul {
  list-style: none;
}

/* -- framework && common --
--------------------------------------------------------------　*/
/*
  読み込み時フェードイン
*/
body {
  opacity: 0;
  animation: anime1 1.2s;
  animation-fill-mode: forwards;
  overflow-x: hidden;
  overflow-y: scroll;
}
@keyframes anime1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
  印刷対応
*/
@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }
  a,
  a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after,
  a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after,
  a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}
/* framework ---------------------------------*/
body {
  font-size: 16px;
  color: #2b2b2b;
  letter-spacing: 0.1em;
  word-break: break-all;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  background-color: #fff;
}

@media only screen and (max-width: 767.9px) {
  body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
    opacity: 1 !important;
    animation: none;
    font-size: 13px;
    -webkit-text-size-adjust: 100%;
  }
}
.en-f {
  font-family: "nunito-sans", sans-serif;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.8;
}

main {
  line-height: 1.8;
  letter-spacing: 0.1em;
}

a {
  color: #2b2b2b;
  text-decoration: none;
}

@media print, screen and (min-width: 768px) {
  a:hover {
    outline: 0;
    opacity: 0.7;
    transition: opacity 0.2s ease-out;
  }
  a img {
    border: 0;
  }
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* common ---------------------------------*/
.clear:after {
  display: block;
  content: "";
  clear: both;
  overflow: hidden;
}

@media only screen and (max-width: 767.9px) {
  .spview,
  .sp_taview,
  .sp_pcview {
    display: block;
  }
  .taview,
  .ta_pcview,
  .pcview {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .sp_taview,
  .taview,
  .ta_pcview {
    display: block;
  }
  .spview,
  .sp_pcview,
  .pcview {
    display: none;
  }
}
@media print, screen and (min-width: 961px) {
  .sp_pcview,
  .ta_pcview,
  .pcview {
    display: block;
  }
  .spview,
  .sp_taview,
  .taview {
    display: none;
  }
}
/* -- original common --
--------------------------------------------------------------　*/
.mainwrap,
.widewrap {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) and (max-width: 1320px) {
  .mainwrap {
    max-width: 95%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1660px) {
  .widewrap {
    max-width: 95%;
  }
}
@media print, screen and (min-width: 1321px) {
  .mainwrap {
    max-width: 1200px;
  }
}
@media print, screen and (min-width: 1661px) {
  .widewrap {
    max-width: 1600px;
  }
}
@media only screen and (max-width: 767.9px) {
  .c_inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .c_inner {
    padding-top: 85px;
    padding-bottom: 85px;
  }
}
@media only screen and (max-width: 767.9px) {
  .inner_sp {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.gmap {
  cursor: pointer;
}

.gmap iframe {
  pointer-events: none;
  vertical-align: bottom;
}

.gmap.on iframe {
  pointer-events: auto;
}

@media print, screen and (min-width: 768px) {
  a.tel,
  .tel a {
    pointer-events: none;
  }
}
@media only screen and (max-width: 767.9px) {
  .sp_w {
    overflow-x: scroll;
    white-space: nowrap;
  }
  .sp_w::-webkit-scrollbar {
    height: 10px;
  }
  .sp_w::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 5px;
  }
  .sp_w::-webkit-scrollbar-track-piece {
    background: #efefef;
  }
}
.bg-fixed {
  height: 100%;
  overflow: hidden;
}

/*  title : wrap
  /* ------------------------------------ */
@media screen and (min-width: 768px) {
  .nowrap {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
  }
}
/* -- breadcrumb --
----------------------　*/
#breadcrumb {
  line-height: 1;
}
@media print, screen and (max-width: 767.9px) {
  #breadcrumb {
    padding: 7px;
  }
}
@media print, screen and (min-width: 768px) {
  #breadcrumb {
    padding: 15px 40px;
  }
}
#breadcrumb ul li {
  display: inline-block;
  position: relative;
  color: #2b2b2b;
}
#breadcrumb ul li:not(:last-of-type) {
  position: relative;
}
#breadcrumb ul li:not(:last-of-type)::before {
  content: "";
  background-color: #e1e1e1;
  height: 1px;
  position: absolute;
  top: 50%;
}
@media print, screen and (max-width: 767.9px) {
  #breadcrumb ul li {
    font-size: 11px;
  }
  #breadcrumb ul li:not(:last-of-type) {
    padding-right: 21px;
  }
  #breadcrumb ul li:not(:last-of-type)::before {
    width: 5px;
    right: 7px;
  }
}
@media print, screen and (min-width: 768px) {
  #breadcrumb ul li {
    font-size: 14px;
  }
  #breadcrumb ul li:not(:last-of-type) {
    padding-right: 41px;
  }
  #breadcrumb ul li:not(:last-of-type)::before {
    width: 10px;
    right: 15px;
  }
}
#breadcrumb ul li a {
  color: #1c2956;
}

/* -- アニメーション --
--------------------------------------------------------------　*/
@keyframes ripple {
  0% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 1px rgba(28, 41, 86, 0);
  }
  100% {
    opacity: 0;
    transform: scale(1.5);
    box-shadow: 0 0 0 2px rgb(28, 41, 86);
  }
}
@keyframes fadeInLdg {
  from {
    opacity: 0;
    filter: blur(10px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
/* -- header --
--------------------------------------------------------------　*/
header {
  position: relative;
}

.h-nav {
  background-color: #fff;
  z-index: 100;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  display: none;
}
@media print, screen and (max-width: 767.9px) {
  .h-nav {
    height: 100vh;
    overflow-y: auto;
    padding: 10vh 0;
  }
}
.h-nav .h-nav__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .h-nav .h-nav__inner {
    height: 100vh;
  }
}
@media print, screen and (max-width: 767.9px) {
  .h-nav .h-nav__logo {
    text-align: center;
  }
  .h-nav .h-nav__logo img {
    width: 55px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1420px) {
  .h-nav .h-nav__logo {
    padding-left: 50px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 1421px) {
  .h-nav .h-nav__logo {
    position: absolute;
    top: 150px;
    left: 150px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .h-nav nav {
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .h-nav nav {
    width: 90%;
    max-width: 930px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .h-nav nav .h-nav__main {
    width: 135px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .h-nav nav .h-nav__main {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 50px 0;
  }
  .h-nav nav .h-nav__main li {
    width: 33%;
    text-align: center;
  }
  .h-nav nav .h-nav__main li:nth-child(-n + 3) {
    margin-bottom: 20px;
  }
  .h-nav nav .h-nav__main li a {
    font-size: 16px;
  }
  .h-nav nav .h-nav__main li a span {
    font-size: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .h-nav nav .h-nav__main li:not(:last-of-type) {
    margin-bottom: 40px;
  }
  .h-nav nav .h-nav__main li a {
    font-size: 22px;
  }
  .h-nav nav .h-nav__main li a span {
    font-size: 14px;
    position: relative;
  }
  .h-nav nav .h-nav__main li a span::after {
    background-color: #c8c8c8;
    top: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transition: 0.5s all;
    width: 0;
  }
  .h-nav nav .h-nav__main li a:hover {
    opacity: 1;
  }
  .h-nav nav .h-nav__main li a:hover span::after {
    width: 100%;
  }
}
.h-nav nav .h-nav__main li a {
  display: inline-block;
}
.h-nav nav .h-nav__main li a span {
  padding-top: 7px;
  display: block;
  font-family: "nunito-sans", sans-serif;
}

.h-nav__sns {
  display: flex;
  justify-content: flex-end;
  margin-top: 80px;
}
.h-nav__sns li.mail {
  margin-right: 30px;
}
.h-nav__sns li.mail a {
  display: block;
  width: 31px;
  height: 25px;
  text-indent: -99999px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  background-image: url(../images/common/icon_mail.png);
}

.fixed_btn {
  position: fixed;
  transition: all 0.8s;
}
.fixed_btn.is-hidden {
  visibility: hidden;
  opacity: 0;
}

@media print, screen and (max-width: 767.9px) {
  header .msg_h1__txt {
    opacity: 0;
    line-height: 0;
    height: 0;
  }
  header .h-logo {
    top: 65px;
    width: 50px;
  }
  header .h-logo.l-small {
    top: 20px;
    width: 30px;
  }
  header .h-rsv {
    top: 10px;
    left: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  header .msg_h1__txt {
    top: 50px;
    left: 50px;
    width: 44px;
    font-size: 14px;
    transition: 1s;
  }
  header .msg_h1__txt.d-none {
    opacity: 0;
  }
  header .h-logo {
    top: 50px;
    width: 50px;
  }
  header .h-logo.l-small {
    top: 20px;
    width: 50px;
  }
  header .h-rsv {
    top: 88px;
    right: 57px;
  }
}
header .msg_h1__txt {
  height: 100%;
  position: fixed;
  color: #9a9a9a;
  writing-mode: vertical-rl;
}

@media print, screen and (min-width: 768px) {
  .home header .h-logo,
  .page-id-618 header .h-logo {
    filter: drop-shadow(2px 4px 6px black);
  }
  .home header .h-logo {
    width: 81px;
  }
}
.home .h-rsv.c-bk a,
.page-id-618 .h-rsv.c-bk a {
  color: #2b2b2b;
}
.home .h-rsv.c-bk a p,
.page-id-618 .h-rsv.c-bk a p {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADZklEQVRYhYTKIREAIBAAsKGJ8hpNHhKRB00ePAn+fnotIhQmBjZelRMdCxcnXfgAAAD//2IhwrCtUANZGRgY2sl0UBYDA0MX1EMCDAwMf7CqYmBgAAAAAP//YiLCMJBjQECcTMcgmwGieXCqYmBgAAAAAP//AkUZKEpgoTCQ4CsDA4M3AAAA//8ChZDjIHAMCHAzMDD4AgAAAP//Qk9DMxgYGH6iieVD6QuEEiQeYMHAwGBO0A4GBhYAAAAA//9Cd1AlAwPDBxyK9zEwMBST6aAGJAeVMTAwfMZqBwMDAwAAAP//IiZRb4HG7yYyHQMC+6FmgMxCdwwCMDAwAAAAAP//Iibb+zIwMIAc/o8CB4Gimo+gGQwMDAAAAAD//yImhECAEscQbwYDAwMAAAD//0IPoQoGBoYfVLCcPMDAwAAAAAD//0J3UPlAOoaBgYEBAAAA//8iNsroAxgYGAAAAAD//0IPIQUGBoaPA+CO92CSgYEBAAAA//9CdxDIMejlEP0AAwMDAAAA//8aXFHGwMAAAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//8ixkGbGRgY/iNhEB8GQE2XL0hyIDZIjBi9mICBgQEAAAD//yLGQaDmCTofps8MrekCYsMqUUYCejEBAwMDAAAA//8ipi7zhtZnILV/oZUsrBqYBhWHtSZfMjAwTIWyQSEC0uvHwMDAjEUvJmBgYAAAAAD//yLGQaCKEVc7CFSD42tn49OLCRgYGAAAAAD//xpciZqBgQEAAAD//xpcDmJgYAAAAAD//xpcDmJgYAAAAAD//yImDYGyMXJuAbX+YOkC1gGEdW1A2R65Q4lPLyZgYGAAAAAA//8ipaMIAyVIrT9YBxAZgEIdJAbK9vj0YgIGBgYAAAAA//8iJspAvkLnwww8hda9BrFPQtmgbI9PLyZgYGAAAAAA//8itk0NihJYOYTcSAcFvyBSKIAc9BtNLy9SOYS3gc/AwMAAAAAA//8ixkEgAEobuADIAfiaLAQdAQcMDAwAAAAA//8aXLmMgYEBAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//9CT0Pwtu2AAAYGBgAAAAD//wKFEL4ES1/AwPASAAAA//8ChRCoZAXREgPtGAYGhkkAAAAA//8DANmZbJ9epV5CAAAAAElFTkSuQmCC);
}
@media print, screen and (min-width: 768px) {
  .home .h-rsv a,
  .page-id-618 .h-rsv a {
    color: #fff;
  }
  .home .h-rsv a p,
  .page-id-618 .h-rsv a p {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADZklEQVRYhYTKIREAIBAAsKHJgyYPiciDpsO3wJPg76fXIkJhYmDjVTnRsXBx0oUPAAD//2IhwrCtUANZGRgY2sl0UBYDA0MX1EMCDAwMf7CqYmBgAAAAAP//YiLCMJBjQECcTMcgmwGieXCqYmBgAAAAAP//AkUZKEpgoTCQ4CsDA4M3AAAA//8ChZDjIHAMCHAzMDD4AgAAAP//Qk9DMxgYGH6iieVD6QuEEiQeYMHAwGBO0A4GBhYAAAAA//9Cd1AlAwPDBxyK9zEwMBST6aAGJAeVMTAwfMZqBwMDAwAAAP//IiZRb4HG7yYyHQMC+6FmgMxCdwwCMDAwAAAAAP//Iibb+zIwMIAc/o8CB4Gimo+gGQwMDAAAAAD//yImhECAEscQbwYDAwMAAAD//0IPoQoGBoYfVLCcPMDAwAAAAAD//0J3UPlAOoaBgYEBAAAA//8iNsroAxgYGAAAAAD//0IPIQUGBoaPA+CO92CSgYEBAAAA//9CdxDIMejlEP0AAwMDAAAA//8aXFHGwMAAAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//8ixkGbGRgY/iNhEB8GQE2XL0hyIDZIjBi9mICBgQEAAAD//yLGQaDmCTofps8MrekCYsMqUUYCejEBAwMDAAAA//8ipi7zhtZnILV/oZUsrBqYBhWHtSZfMjAwTIWyQSEC0uvHwMDAjEUvJmBgYAAAAAD//yLGQaCKEVc7CFSD42tn49OLCRgYGAAAAAD//xpciZqBgQEAAAD//xpcDmJgYAAAAAD//xpcDmJgYAAAAAD//yImDYGyMXJuAbX+YOkC1gGEdW1A2R65Q4lPLyZgYGAAAAAA//8ipaMIAyVIrT9YBxAZgEIdJAbK9vj0YgIGBgYAAAAA//8iJspAvkLnwww8hda9BrFPQtmgbI9PLyZgYGAAAAAA//8itk0NihJYOYTcSAcFvyBSKIAc9BtNLy9SOYS3gc/AwMAAAAAA//8ixkEgAEobuADIAfiaLAQdAQcMDAwAAAAA//8aXLmMgYEBAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//9CT0Pwtu2AAAYGBgAAAAD//wKFEL4ES1/AwPASAAAA//8ChRCoZAXREgPtGAYGhkkAAAAA//8DANEQcNGHv40GAAAAAElFTkSuQmCC);
  }
}
.home #toggle.c-bk::before,
.home #toggle.c-bk::after,
.page-id-618 #toggle.c-bk::before,
.page-id-618 #toggle.c-bk::after {
  background-color: #2f2f2f;
}
@media print, screen and (min-width: 768px) {
  .home #toggle::before,
  .home #toggle::after,
  .page-id-618 #toggle::before,
  .page-id-618 #toggle::after {
    background-color: #fff;
  }
}

.h-logo {
  left: 0;
  right: 0;
  margin: auto;
  z-index: 9;
}

.h-rsv {
  z-index: 9;
}
.h-rsv a {
  display: inline-block;
  writing-mode: vertical-rl;
  transition: all 0.3s;
}
@media print, screen and (max-width: 767.9px) {
  .h-rsv a {
    background: url(../images/common/bestrate_icon-sp.png) center top no-repeat;
    background-size: 32px;
    padding: 40px 8px 0;
  }
  .h-rsv a p {
    font-size: 10px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADZklEQVRYhYTKIREAIBAAsKGJ8hpNHhKRB00ePAn+fnotIhQmBjZelRMdCxcnXfgAAAD//2IhwrCtUANZGRgY2sl0UBYDA0MX1EMCDAwMf7CqYmBgAAAAAP//YiLCMJBjQECcTMcgmwGieXCqYmBgAAAAAP//AkUZKEpgoTCQ4CsDA4M3AAAA//8ChZDjIHAMCHAzMDD4AgAAAP//Qk9DMxgYGH6iieVD6QuEEiQeYMHAwGBO0A4GBhYAAAAA//9Cd1AlAwPDBxyK9zEwMBST6aAGJAeVMTAwfMZqBwMDAwAAAP//IiZRb4HG7yYyHQMC+6FmgMxCdwwCMDAwAAAAAP//Iibb+zIwMIAc/o8CB4Gimo+gGQwMDAAAAAD//yImhECAEscQbwYDAwMAAAD//0IPoQoGBoYfVLCcPMDAwAAAAAD//0J3UPlAOoaBgYEBAAAA//8iNsroAxgYGAAAAAD//0IPIQUGBoaPA+CO92CSgYEBAAAA//9CdxDIMejlEP0AAwMDAAAA//8aXFHGwMAAAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//8ixkGbGRgY/iNhEB8GQE2XL0hyIDZIjBi9mICBgQEAAAD//yLGQaDmCTofps8MrekCYsMqUUYCejEBAwMDAAAA//8ipi7zhtZnILV/oZUsrBqYBhWHtSZfMjAwTIWyQSEC0uvHwMDAjEUvJmBgYAAAAAD//yLGQaCKEVc7CFSD42tn49OLCRgYGAAAAAD//xpciZqBgQEAAAD//xpcDmJgYAAAAAD//xpcDmJgYAAAAAD//yImDYGyMXJuAbX+YOkC1gGEdW1A2R65Q4lPLyZgYGAAAAAA//8ipaMIAyVIrT9YBxAZgEIdJAbK9vj0YgIGBgYAAAAA//8iJspAvkLnwww8hda9BrFPQtmgbI9PLyZgYGAAAAAA//8itk0NihJYOYTcSAcFvyBSKIAc9BtNLy9SOYS3gc/AwMAAAAAA//8ixkEgAEobuADIAfiaLAQdAQcMDAwAAAAA//8aXLmMgYEBAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//9CT0Pwtu2AAAYGBgAAAAD//wKFEL4ES1/AwPASAAAA//8ChRCoZAXREgPtGAYGhkkAAAAA//8DANmZbJ9epV5CAAAAAElFTkSuQmCC);
    padding-top: 25px;
    background-size: 14px;
  }
}
@media print, screen and (min-width: 768px) {
  .h-rsv a p {
    padding-top: 30px;
    background-size: 19px;
  }
}
.h-rsv a p {
  transition: all 0.3s;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADZklEQVRYhYTKIREAIBAAsKGJ8hpNHhKRB00ePAn+fnotIhQmBjZelRMdCxcnXfgAAAD//2IhwrCtUANZGRgY2sl0UBYDA0MX1EMCDAwMf7CqYmBgAAAAAP//YiLCMJBjQECcTMcgmwGieXCqYmBgAAAAAP//AkUZKEpgoTCQ4CsDA4M3AAAA//8ChZDjIHAMCHAzMDD4AgAAAP//Qk9DMxgYGH6iieVD6QuEEiQeYMHAwGBO0A4GBhYAAAAA//9Cd1AlAwPDBxyK9zEwMBST6aAGJAeVMTAwfMZqBwMDAwAAAP//IiZRb4HG7yYyHQMC+6FmgMxCdwwCMDAwAAAAAP//Iibb+zIwMIAc/o8CB4Gimo+gGQwMDAAAAAD//yImhECAEscQbwYDAwMAAAD//0IPoQoGBoYfVLCcPMDAwAAAAAD//0J3UPlAOoaBgYEBAAAA//8iNsroAxgYGAAAAAD//0IPIQUGBoaPA+CO92CSgYEBAAAA//9CdxDIMejlEP0AAwMDAAAA//8aXFHGwMAAAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//8ixkGbGRgY/iNhEB8GQE2XL0hyIDZIjBi9mICBgQEAAAD//yLGQaDmCTofps8MrekCYsMqUUYCejEBAwMDAAAA//8ipi7zhtZnILV/oZUsrBqYBhWHtSZfMjAwTIWyQSEC0uvHwMDAjEUvJmBgYAAAAAD//yLGQaCKEVc7CFSD42tn49OLCRgYGAAAAAD//xpciZqBgQEAAAD//xpcDmJgYAAAAAD//xpcDmJgYAAAAAD//yImDYGyMXJuAbX+YOkC1gGEdW1A2R65Q4lPLyZgYGAAAAAA//8ipaMIAyVIrT9YBxAZgEIdJAbK9vj0YgIGBgYAAAAA//8iJspAvkLnwww8hda9BrFPQtmgbI9PLyZgYGAAAAAA//8itk0NihJYOYTcSAcFvyBSKIAc9BtNLy9SOYS3gc/AwMAAAAAA//8ixkEgAEobuADIAfiaLAQdAQcMDAwAAAAA//8aXLmMgYEBAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//9CT0Pwtu2AAAYGBgAAAAD//wKFEL4ES1/AwPASAAAA//8ChRCoZAXREgPtGAYGhkkAAAAA//8DANmZbJ9epV5CAAAAAElFTkSuQmCC);
  background-position: top 0 left 50%;
  background-repeat: no-repeat;
  letter-spacing: 0.2em;
}

#toggle {
  position: fixed;
  width: 40px;
  height: 10px;
  z-index: 101;
  cursor: pointer;
}
@media print, screen and (max-width: 767.9px) {
  #toggle {
    top: 30px;
    right: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  #toggle {
    top: 50px;
    right: 50px;
  }
}
#toggle.triggeractive::before,
#toggle.triggeractive::after {
  top: 5px;
}
#toggle.triggeractive::before,
#toggle.triggeractive::after {
  background-color: #2f2f2f;
}
#toggle.triggeractive::before {
  transform: rotate(-20deg);
}
#toggle.triggeractive::after {
  transform: rotate(20deg);
}
#toggle::before,
#toggle::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  transition: all 0.8s;
  background-color: #2f2f2f;
}
#toggle::before {
  top: 0;
}
#toggle::after {
  bottom: 0;
}

#toggle::before {
  height: 0.5px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  #toggle::before {
    height: 1px;
  }
}

/* -- ASP --
--------------------------------------------------------------　*/
.search-wrap {
  max-width: 650px;
}
@media print, screen and (min-width: 768px) {
  .search-wrap {
    width: calc(100% - 135px);
  }
}
.search-wrap section {
  display: flex;
}
@media print, screen and (max-width: 767.9px) {
  .search-wrap section {
    max-width: 350px;
    margin: auto;
  }
}
.search-wrap .search-bestrate {
  width: 85px;
}
.search-wrap #search_form {
  width: calc(100% - 85px);
}

#search_form {
  display: flex;
  align-content: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
#search_form .s-label {
  line-height: 2;
}
@media print, screen and (max-width: 767.9px) {
  #search_form .s-label {
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  #search_form .s-label {
    font-size: 15px;
  }
}
#search_form .set_inner {
  border-bottom: solid 1px #c9c9c9;
  position: relative;
}
@media print, screen and (max-width: 767.9px) {
  #search_form .set_inner {
    padding: 12px 0;
  }
}
@media print, screen and (min-width: 768px) {
  #search_form .set_inner {
    padding: 20px 0;
  }
}
#search_form .set_inner input,
#search_form .set_inner select {
  letter-spacing: 0.1em;
  color: #2f2f2f;
  font-family: "Zen Old Mincho", serif;
}
@media print, screen and (max-width: 767.9px) {
  #search_form .set_inner input,
  #search_form .set_inner select {
    height: 16px;
    font-size: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  #search_form .set_inner input,
  #search_form .set_inner select {
    height: 20px;
    font-size: 20px;
  }
}
@media print, screen and (max-width: 767.9px) {
  #search_form .set_date {
    width: 100%;
    margin-bottom: 20px;
  }
  #search_form .set_room,
  #search_form .set_haku,
  #search_form .set_num {
    width: 30%;
  }
}
@media print, screen and (min-width: 768px) {
  #search_form .set_date {
    width: 35%;
  }
  #search_form .set_room,
  #search_form .set_haku,
  #search_form .set_num {
    width: 18%;
  }
}
#search_form .set_date .ui-datepicker-trigger {
  width: 18px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
}
#search_form .set_date input {
  padding-left: 40px;
}
#search_form .set_room .set_inner select,
#search_form .set_haku .set_inner select,
#search_form .set_num .set_inner select {
  padding-left: 20px;
}
#search_form .set_room .set_inner::before,
#search_form .set_haku .set_inner::before,
#search_form .set_num .set_inner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
  width: 9px;
  height: 9px;
  border-bottom: 1px solid #2e2e2e;
  border-right: 1px solid #2e2e2e;
  transform: rotate(45deg);
  transition: all 0.5s;
}
#search_form input,
#search_form button,
#search_form select {
  cursor: pointer;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  padding: 0;
}
#search_form select::-ms-expand {
  display: none;
}
#search_form .submit_btn {
  width: 100%;
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  #search_form .submit_btn {
    display: flex;
    justify-content: space-between;
  }
  #search_form .submit_btn .submit {
    width: 53%;
  }
  #search_form .submit_btn .plan {
    width: 43%;
  }
}
#search_form .submit_btn .submit button {
  text-align: center;
  cursor: pointer;
  background-color: #300607;
  font-family: "Zen Old Mincho", serif;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.1em;
  width: 100%;
  padding: 22px 10px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACxklEQVQ4jWzKMREAIAwEsGABJWz4H5CAi68HZu6aOSOJxsLGROHgdvGDBwAA//9iQROwY2BgmAg1EAS+MDAw8EDZJxkYGAoYGBhO4DSNgYEBAAAA//90zCESABAQAMAdMuNxwskeasbLFEHRNm16PLGQ0W9UUDHQsBHfDQcAAP//bM8hEQAgEACwaSohXpOCeNwRggLfCIVCgZ/ZLQcWJjr2xxYMNFTkI3AAAAD//4IZeB7qMhMGBgYFBgaGWzgcADL0EgMDw1OoI1ABAwMDAAAA//8CeRkUXiDcyMDAIMLAwJCOx0ffGBgYWqFhrYghy8DAAAAAAP//AhkIik0Q2MHAwBDEwMCwGI+BILATSltgyDAwMAAAAAD//wIZCEoaoNj8ysDAIMnAwHCfgIHPoTRIHypgYGAAAAAA//8CGQgKRFCMgmLzMQMDgzIBA2WgNGYCZmBgAAAAAP//Ahl4DMr2ZmBgWMPAwGBFwEAvKA3ThwAMDAwAAAAA//+CxTIosQoyMDAYQgMeF+BnYGC4zMDAcJ2BgcEdQxEDAwMAAAD//4Il7FxorK1kYGDgxmEayLC1DAwMwgwMDCVYVTAwMAAAAAD//4IZCEqkMQwMDG7QdAbKNdLQtCnLwMCQwcDAcIWBgcGSgYEhHBrDgRimMTAwAAAAAP//Qi8cjBgYGHoZGBgcsKgFJZdSaDKbzcDA8J+BgSGbgYFhOlwFAwMDAAAA//9CLxzOMTAwODIwMMhDNYK8B7LxOAMDwxOoGiUGBoZ/DAwMIN9Ng4pBDGVgYAAAAAD//8JVfBECcQwMDAuRFIFc3sPAwMAAAAAA//9CLm1IAYsYGBiykDR0MzAwVDAwMDAAAAAA//9C9zIpAOZNmLfbGRgY/gIAAAD//yLXy8igjIGBoRMswMDwCQAAAP//ItfLyKALmi4/MzAwTAAAAAD//wMAhkBZAM1ALZAAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left 20px top 50%;
}
@media print, screen and (max-width: 767.9px) {
  #search_form .submit_btn .submit button {
    font-size: 16px;
  }
  #search_form .submit_btn .submit button span {
    font-size: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  #search_form .submit_btn .submit button {
    font-size: 20px;
  }
  #search_form .submit_btn .submit button span {
    font-size: 14px;
  }
}
#search_form .submit_btn .submit button span {
  display: block;
  letter-spacing: 0.05em;
  margin-top: 5px;
}
#search_form .submit_btn .submit button:hover {
  outline: 0;
  opacity: 0.7;
  transition: opacity 0.2s ease-out;
}
#search_form .submit_btn .plan li {
  border-bottom: solid 1px #c9c9c9;
}
#search_form .submit_btn .plan li a {
  display: block;
  position: relative;
}
@media print, screen and (max-width: 767.9px) {
  #search_form .submit_btn .plan li a {
    font-size: 12px;
    padding: 7px 20px 7px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  #search_form .submit_btn .plan li a {
    font-size: 15px;
    padding: 10px 20px 10px 15px;
  }
}
#search_form .submit_btn .plan li a:hover::before {
  right: 5px;
}
#search_form .submit_btn .plan li a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #2e2e2e;
  border-right: 1px solid #2e2e2e;
  transform: rotate(45deg);
  transition: all 0.5s;
}

/* -- mv --
--------------------------------------------------------------　*/
.mainvisual {
  position: relative;
}

/* video */
@media print, screen and (max-width: 767.9px) {
  .mainvisual {
    margin-top: 235px;
  }
  .mainvisual-mp4 video {
    max-width: 100%;
  }
  .mainvisual-bestrate {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .mainvisual {
    height: 100vh;
  }
  .mainvisual-bestrate {
    position: absolute;
    bottom: 40px;
    right: 40px;
    transition: 1s;
  }
  .mainvisual-bestrate.d-none {
    opacity: 0;
  }
  .mainvisual-mp4 {
    width: 100vw;
    height: 100vh;
    background-color: #333;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
  }
  .mainvisual-mp4::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #10394b;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.3;
  }
  .mainvisual-mp4 video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
@media print, screen and (max-width: 767.9px) {
  .pagetitie {
    padding-top: 250px;
  }
}
@media print, screen and (min-width: 768px) {
  .pagetitie {
    padding-top: 380px;
  }
}

.pagetitie-txt {
  text-align: center;
}
@media print, screen and (max-width: 767.9px) {
  .pagetitie-txt {
    padding-bottom: 65px;
  }
  .pagetitie-txt h2 {
    font-size: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .pagetitie-txt {
    padding-bottom: 100px;
  }
  .pagetitie-txt h2 {
    font-size: 42px;
  }
}
.pagetitie-txt h2 {
  letter-spacing: 0.2em;
}
.pagetitie-txt p {
  color: #1c2956;
  letter-spacing: 0.05em;
}

.pagetitie-img {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
.pagetitie-img.acv {
  background-image: url(../images/common/page-mv.webp);
}
@media print, screen and (max-width: 767.9px) {
  .pagetitie-img {
    height: 250px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .pagetitie-img {
    height: 500px;
  }
}
@media print, screen and (min-width: 961px) {
  .pagetitie-img {
    height: 800px;
  }
}

/* -- footer --
--------------------------------------------------------------*/
#btn_pagetop {
  position: fixed;
}
@media print, screen and (max-width: 767.9px) {
  #btn_pagetop {
    width: 45px;
    bottom: 12px;
    right: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  #btn_pagetop {
    width: 72px;
    bottom: 30px;
    right: 30px;
  }
}

footer {
  background-image: url(../images/common/footer_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 0;
  padding: 50px 20px;
}

.ft-wrap {
  max-width: 1520px;
  margin: auto;
  color: #c8c8c8;
}
.ft-wrap a {
  color: #c8c8c8;
}
@media print, screen and (max-width: 1160px) {
  .ft-wrap .ft-wrap__left,
  .ft-wrap .ft-wrap__right {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
  .ft-wrap .ft-wrap__right nav ul {
    justify-content: center;
  }
  .ft-wrap .circle_rsv a {
    margin: 50px auto 0;
  }
  .ft-wrap .ft-wrap__copy {
    text-align: center;
  }
}
@media print, screen and (min-width: 1161px) {
  .ft-wrap {
    display: flex;
  }
  .ft-wrap .ft-wrap__left,
  .ft-wrap .ft-wrap__right {
    width: 50%;
  }
  .ft-wrap .ft-wrap__right {
    display: flex;
    justify-content: flex-end;
  }
  .ft-wrap .ft-wrap__right nav ul {
    justify-content: flex-end;
  }
  .ft-wrap .circle_rsv {
    margin-left: 30px;
  }
  .ft-wrap .ft-wrap__copy {
    text-align: right;
  }
}
@media print, screen and (min-width: 641px) and (max-width: 1420px) {
  .ft-wrap .ft-wrap__logo {
    margin-right: 35px;
  }
  .ft-wrap .ft-wrap__right nav ul li:not(:last-of-type) {
    margin-right: 15px;
  }
}
@media print, screen and (min-width: 1421px) {
  .ft-wrap .ft-wrap__logo {
    margin-right: 70px;
  }
  .ft-wrap .circle_rsv {
    margin-left: 100px;
  }
  .ft-wrap .ft-wrap__right nav ul li:not(:last-of-type) {
    margin-right: 30px;
  }
}
@media print, screen and (max-width: 640px) {
  .ft-wrap .ft-wrap__left .ft-wrap__logo {
    margin-bottom: 20px;
    width: 55px;
  }
  .ft-wrap .ft-wrap__left .hotel_name {
    font-size: 15px;
  }
}
@media print, screen and (min-width: 641px) {
  .ft-wrap .ft-wrap__left {
    display: flex;
  }
  .ft-wrap .ft-wrap__left .hotel_name {
    font-size: 18px;
  }
}
.ft-wrap .ft-wrap__left .hotel_name {
  margin-bottom: 1.2em;
}
.ft-wrap .ft-wrap__right nav {
  margin-top: 40px;
}
.ft-wrap .ft-wrap__right nav ul {
  display: flex;
}
@media print, screen and (max-width: 640px) {
  .ft-wrap .ft-wrap__right nav ul li:not(:last-of-type) {
    margin-right: 15px;
  }
}
.ft-wrap .ft-wrap__right nav ul li a {
  display: inline-block;
  position: relative;
  padding-bottom: 3px;
}
.ft-wrap .ft-wrap__right nav ul li a::after {
  background-color: #c8c8c8;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  transition: 0.5s all;
  width: 0;
}
.ft-wrap .ft-wrap__right nav ul li a:hover::after {
  width: 100%;
}
@media print, screen and (max-width: 640px) {
  .ft-wrap .ft-wrap__right nav ul:nth-child(2) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 641px) {
  .ft-wrap .ft-wrap__right nav ul:nth-child(2) {
    margin-top: 35px;
  }
  .ft-wrap .ft-wrap__right nav ul:nth-child(2) li {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 1420px) {
  .ft-wrap .ft-wrap__right nav ul:nth-child(2) li {
    font-size: 12px;
  }
}
.ft-wrap .ft-wrap__add p {
  line-height: 1.7;
}
.ft-wrap .ft-wrap__add p.tel {
  margin-top: 15px;
}
.ft-wrap .ft-wrap__add p.mail {
  margin-bottom: 15px;
}
@media print, screen and (max-width: 640px) {
  .ft-wrap .ft-wrap__add p.tel,
  .ft-wrap .ft-wrap__add p.mail {
    font-size: 12px;
  }
}
@media print, screen and (min-width: 641px) {
  .ft-wrap .ft-wrap__add p.tel,
  .ft-wrap .ft-wrap__add p.mail {
    font-size: 15px;
  }
}
.ft-wrap .circle_rsv {
  margin-bottom: 60px;
}
.ft-wrap .circle_rsv a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #c8c8c8;
  border-radius: 50%;
  transition: all 0.8s;
}
@media print, screen and (max-width: 767.9px) {
  .ft-wrap .circle_rsv a {
    width: 100px;
    height: 100px;
  }
  .ft-wrap .circle_rsv a p {
    padding-top: 25px;
    background-size: 15px;
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .ft-wrap .circle_rsv a {
    width: 150px;
    height: 150px;
  }
  .ft-wrap .circle_rsv a p {
    padding-top: 30px;
    background-size: 19px;
  }
}
.ft-wrap .circle_rsv a:hover {
  opacity: 1;
  background-color: #c8c8c8;
  color: #000;
}
.ft-wrap .circle_rsv a:hover p {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADZklEQVRYhYTKIREAIBAAsKGJ8hpNHhKRB00ePAn+fnotIhQmBjZelRMdCxcnXfgAAAD//2IhwrCtUANZGRgY2sl0UBYDA0MX1EMCDAwMf7CqYmBgAAAAAP//YiLCMJBjQECcTMcgmwGieXCqYmBgAAAAAP//AkUZKEpgoTCQ4CsDA4M3AAAA//8ChZDjIHAMCHAzMDD4AgAAAP//Qk9DMxgYGH6iieVD6QuEEiQeYMHAwGBO0A4GBhYAAAAA//9Cd1AlAwPDBxyK9zEwMBST6aAGJAeVMTAwfMZqBwMDAwAAAP//IiZRb4HG7yYyHQMC+6FmgMxCdwwCMDAwAAAAAP//Iibb+zIwMIAc/o8CB4Gimo+gGQwMDAAAAAD//yImhECAEscQbwYDAwMAAAD//0IPoQoGBoYfVLCcPMDAwAAAAAD//0J3UPlAOoaBgYEBAAAA//8iNsroAxgYGAAAAAD//0IPIQUGBoaPA+CO92CSgYEBAAAA//9CdxDIMejlEP0AAwMDAAAA//8aXFHGwMAAAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//8ixkGbGRgY/iNhEB8GQE2XL0hyIDZIjBi9mICBgQEAAAD//yLGQaDmCTofps8MrekCYsMqUUYCejEBAwMDAAAA//8ipi7zhtZnILV/oZUsrBqYBhWHtSZfMjAwTIWyQSEC0uvHwMDAjEUvJmBgYAAAAAD//yLGQaCKEVc7CFSD42tn49OLCRgYGAAAAAD//xpciZqBgQEAAAD//xpcDmJgYAAAAAD//xpcDmJgYAAAAAD//yImDYGyMXJuAbX+YOkC1gGEdW1A2R65Q4lPLyZgYGAAAAAA//8ipaMIAyVIrT9YBxAZgEIdJAbK9vj0YgIGBgYAAAAA//8iJspAvkLnwww8hda9BrFPQtmgbI9PLyZgYGAAAAAA//8itk0NihJYOYTcSAcFvyBSKIAc9BtNLy9SOYS3gc/AwMAAAAAA//8ixkEgAEobuADIAfiaLAQdAQcMDAwAAAAA//8aXLmMgYEBAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//9CT0Pwtu2AAAYGBgAAAAD//wKFEL4ES1/AwPASAAAA//8ChRCoZAXREgPtGAYGhkkAAAAA//8DANmZbJ9epV5CAAAAAElFTkSuQmCC);
}
.ft-wrap .circle_rsv a p {
  display: inline-block;
  letter-spacing: 0.2em;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADZklEQVRYhYTKIREAIBAAsKHJgyYPiciDpsO3wJPg76fXIkJhYmDjVTnRsXBx0oUPAAD//2IhwrCtUANZGRgY2sl0UBYDA0MX1EMCDAwMf7CqYmBgAAAAAP//YiLCMJBjQECcTMcgmwGieXCqYmBgAAAAAP//AkUZKEpgoTCQ4CsDA4M3AAAA//8ChZDjIHAMCHAzMDD4AgAAAP//Qk9DMxgYGH6iieVD6QuEEiQeYMHAwGBO0A4GBhYAAAAA//9Cd1AlAwPDBxyK9zEwMBST6aAGJAeVMTAwfMZqBwMDAwAAAP//IiZRb4HG7yYyHQMC+6FmgMxCdwwCMDAwAAAAAP//Iibb+zIwMIAc/o8CB4Gimo+gGQwMDAAAAAD//yImhECAEscQbwYDAwMAAAD//0IPoQoGBoYfVLCcPMDAwAAAAAD//0J3UPlAOoaBgYEBAAAA//8iNsroAxgYGAAAAAD//0IPIQUGBoaPA+CO92CSgYEBAAAA//9CdxDIMejlEP0AAwMDAAAA//8aXFHGwMAAAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//8ixkGbGRgY/iNhEB8GQE2XL0hyIDZIjBi9mICBgQEAAAD//yLGQaDmCTofps8MrekCYsMqUUYCejEBAwMDAAAA//8ipi7zhtZnILV/oZUsrBqYBhWHtSZfMjAwTIWyQSEC0uvHwMDAjEUvJmBgYAAAAAD//yLGQaCKEVc7CFSD42tn49OLCRgYGAAAAAD//xpciZqBgQEAAAD//xpcDmJgYAAAAAD//xpcDmJgYAAAAAD//yImDYGyMXJuAbX+YOkC1gGEdW1A2R65Q4lPLyZgYGAAAAAA//8ipaMIAyVIrT9YBxAZgEIdJAbK9vj0YgIGBgYAAAAA//8iJspAvkLnwww8hda9BrFPQtmgbI9PLyZgYGAAAAAA//8itk0NihJYOYTcSAcFvyBSKIAc9BtNLy9SOYS3gc/AwMAAAAAA//8ixkEgAEobuADIAfiaLAQdAQcMDAwAAAAA//8aXLmMgYEBAAAA//8aXA5iYGAAAAAA//8aXA5iYGAAAAAA//9CT0Pwtu2AAAYGBgAAAAD//wKFEL4ES1/AwPASAAAA//8ChRCoZAXREgPtGAYGhkkAAAAA//8DANEQcNGHv40GAAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: top 0 left 50%;
}
.ft-wrap .ft-wrap__copy {
  color: #4d4d4d;
  line-height: 1.85;
}
@media print, screen and (max-width: 640px) {
  .ft-wrap .ft-wrap__copy {
    font-size: 12px;
  }
}
@media print, screen and (min-width: 641px) {
  .ft-wrap .ft-wrap__copy {
    font-size: 14px;
  }
}

/* -- loading  --
--------------------------------------------------------------　*/
.loading {
  background-color: #fff;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.loading-logo {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  filter: blur(10px);
  animation-name: fadeInLdg;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  animation-delay: 2s;
  opacity: 0;
}

.loading-img li {
  position: absolute;
  z-index: -1;
  filter: blur(10px);
  animation-name: fadeInLdg;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.loading-img li:nth-child(1) {
  top: 0;
  left: 0;
  width: 42%;
}

.loading-img li:nth-child(2) {
  bottom: 0;
  right: 0;
  width: 70%;
}

@media print, screen and (max-width: 767.9px) {
  .loading-logo img {
    width: 70px;
  }
}
/* -- front parts  --
--------------------------------------------------------------　*/
@media print, screen and (max-width: 767.9px) {
  .circle-btn {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .circle-btn {
    margin-top: 70px;
  }
}
.circle-btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #1c2956;
  line-height: 2;
  border: solid 1px #1c2956;
  border-radius: 50%;
  letter-spacing: 0.05em;
  position: relative;
}
@media print, screen and (max-width: 767.9px) {
  .circle-btn a {
    width: 100px;
    height: 100px;
  }
}
@media print, screen and (min-width: 768px) {
  .circle-btn a {
    width: 150px;
    height: 150px;
  }
  .circle-btn a:hover:after {
    animation: ripple 1.5s ease;
  }
  .circle-btn a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    box-shadow: none;
  }
}

@media print, screen and (min-width: 961px) {
  .topFlexbox {
    display: flex;
    justify-content: space-between;
  }
  .topFlexbox.row-r {
    flex-direction: row-reverse;
  }
}

.topFlexbox-txt.is-fade .topCom-h2 p,
.topFlexbox-txt.is-fade .topCom-h2 h2 {
  opacity: 1;
  transform: none;
  filter: blur(0);
}
.topFlexbox-txt.is-fade .topCom-h2 p {
  transition-delay: 0.5s;
}
.topFlexbox-txt.is-fade .topCom-h2 h2 {
  transition-delay: 1s;
}
.topFlexbox-txt.is-fade .topCom-txt {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition-delay: 1.5s;
}
.topFlexbox-txt .topCom-h2 p,
.topFlexbox-txt .topCom-h2 h2 {
  opacity: 0;
  filter: blur(5px);
  transition-property: opacity, transform, filter, letter-spacing;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transform: translateY(20px);
}
.topFlexbox-txt .topCom-txt {
  opacity: 0;
  filter: blur(5px);
  transition-property: opacity, transform, filter, letter-spacing;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transform: translateY(20px);
}

.topFlexbox-img {
  opacity: 0;
  filter: blur(5px);
  transition-property: opacity, transform, filter, letter-spacing;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transform: translateY(20px);
}
.topFlexbox-img.is-fade {
  opacity: 1;
  transform: none;
  filter: blur(0);
}

.topCom-h2 p {
  color: #1c2956;
}
.topCom-h2 h2 {
  line-height: 2;
  letter-spacing: 0.2em;
}
@media print, screen and (max-width: 767.9px) {
  .topCom-h2 p {
    font-size: 10px;
  }
  .topCom-h2 h2 {
    font-size: 25px;
  }
}
@media print, screen and (max-width: 960px) {
  .topCom-h2 {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .topCom-h2 p {
    font-size: 14px;
  }
  .topCom-h2 h2 {
    font-size: 36px;
  }
}

.topCom-txt {
  line-height: 2.8;
}
@media print, screen and (min-width: 961px) {
  .topCom-txt {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.topCom-txt p:not(:last-of-type) {
  margin-bottom: 2em;
}

.top-bg {
  background-image: url(../images/top/bg_img01.jpg), url(../images/top/bg_img02.jpg), url(../images/top/bg_img03.jpg);
  background-repeat: no-repeat;
}
@media print, screen and (max-width: 767.9px) {
  .top-bg {
    background-size: 50%, 70%, 55%;
    background-position:
      right 0 bottom 9%,
      left 75px top 20%,
      right 40% top 46%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .top-bg {
    background-position:
      right 0 bottom 9%,
      left 75px top 20%,
      right 12% top 51%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .top-bg {
    background-size: 50%, 50%, 35%;
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1460px) {
  .top-bg {
    background-position:
      right 0 top 35%,
      left 120px top 55%,
      left 100px bottom 12%;
  }
}
@media print, screen and (min-width: 1461px) {
  .top-bg {
    background-size: 1086px, 881px, 552px;
    background-position:
      right 0 top 36%,
      left 250px top 58%,
      right 0 bottom 12%;
  }
}

/* -- front page --
--------------------------------------------------------------　*/
@media print, screen and (max-width: 767.9px) {
  .top-ticker {
    padding: 10px 20px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .top-ticker {
    padding: 15px 30px;
    display: flex;
    align-items: center;
  }
  .top-ticker .top-ticker__ttl {
    width: 150px;
  }
  .top-ticker .top-ticker__main {
    width: calc(100% - 150px);
  }
}
.top-ticker .top-ticker__ttl {
  border-right: solid 1px #e1e1e1;
  padding: 7px 0 5px;
}
.top-ticker .top-ticker__ttl h2 {
  font-size: 16px;
  color: #1c2956;
}

.top-ticker__main li a dl {
  display: flex;
}
@media print, screen and (max-width: 767.9px) {
  .top-ticker__main li a dl dt {
    width: calc(100% - 75px);
  }
  .top-ticker__main li a dl dd {
    width: 75px;
    font-size: 10px;
  }
  .top-ticker__main li a dl dd span {
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .top-ticker__main li a dl dt {
    width: calc(100% - 100px);
  }
  .top-ticker__main li a dl dd {
    width: 100px;
    font-size: 12px;
  }
  .top-ticker__main li a dl dd span {
    font-size: 13px;
  }
}
.top-ticker__main li a dl dd {
  color: #7f7f7f;
  line-height: 1.3;
  text-align: center;
}

.topConcept-wrap,
.topRooms-wrap,
.topBreakfast-wrap,
.topAccess-wrap {
  margin: auto;
}

@media print, screen and (max-width: 767.9px) {
  .topConcept {
    padding-bottom: 40px;
  }
  .topConcept .topFlexbox-txt {
    padding: 100px 20px 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .topConcept {
    padding-top: 200px;
    padding-bottom: 80px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .topConcept .topFlexbox-txt {
    padding: 0 20px 70px;
  }
  .topConcept .topFlexbox-img {
    text-align: center;
  }
}
@media print, screen and (min-width: 961px) {
  .topConcept .topFlexbox-txt {
    width: 40%;
    padding: 0 20px;
  }
  .topConcept .topFlexbox-img {
    width: 60%;
  }
  .topConcept .topCom-h2 {
    margin-bottom: 130px;
  }
}
@media print, screen and (max-width: 1060px) {
  .topConcept .res_br {
    display: none;
  }
}

.topConcept-wrap {
  max-width: 1320px;
}

@media print, screen and (min-width: 961px) {
  .topRooms .topCom-h2,
  .topBreakfast .topCom-h2,
  .topAccess .topCom-h2 {
    margin-bottom: 70px;
  }
}
.topRooms .circle-btn a,
.topBreakfast .circle-btn a,
.topAccess .circle-btn a {
  margin-left: auto;
}

@media print, screen and (max-width: 767.9px) {
  .topRooms {
    padding-top: 70px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .topRooms {
    padding-top: 120px;
    padding-bottom: 70px;
  }
}
@media print, screen and (min-width: 961px) {
  .topRooms {
    padding-top: 120px;
    padding-bottom: 150px;
  }
}
.topRooms .topFlexbox {
  position: relative;
}
@media print, screen and (max-width: 767.9px) {
  .topRooms .topFlexbox {
    max-width: 500px;
  }
  .topRooms .topFlexbox-img {
    width: 45%;
    padding-left: 10px;
  }
  .topRooms .topFlexbox-txt {
    width: 55%;
    padding: 85px 15px 0;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .topRooms .topFlexbox-img {
    width: 220px;
    padding-left: 20px;
  }
  .topRooms .topFlexbox-txt {
    padding: 100px 35px 0;
  }
}
@media print, screen and (max-width: 960px) {
  .topRooms .topFlexbox {
    display: flex;
    justify-content: center;
    margin: -50px auto 0;
  }
}
@media print, screen and (min-width: 961px) {
  .topRooms .topFlexbox {
    margin: -100px auto 0;
    max-width: 1220px;
  }
  .topRooms .topFlexbox-img {
    width: 43%;
    padding-left: 20px;
  }
}
.topRooms .topRooms-img {
  padding: 0 20px;
  opacity: 0;
  filter: blur(5px);
  transition-property: opacity, transform, filter, letter-spacing;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transform: translateY(20px);
}
.topRooms .topRooms-img.is-fade {
  opacity: 1;
  transform: none;
  filter: blur(0);
}
@media print, screen and (min-width: 961px) {
  .topRooms .topFlexbox-txt {
    padding-top: 250px;
    padding-right: 20px;
    width: 57%;
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1260px) {
  .topRooms .topFlexbox-txt {
    padding-left: 50px;
  }
}
@media print, screen and (min-width: 1261px) {
  .topRooms .topFlexbox-txt {
    padding-left: 180px;
  }
}

.topRooms-wrap {
  max-width: 1620px;
}

@media print, screen and (max-width: 767.9px) {
  .topBreakfast {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .topBreakfast {
    padding-top: 70px;
    padding-bottom: 50px;
  }
}
@media print, screen and (max-width: 960px) {
  .topBreakfast .topFlexbox-txt {
    padding: 50px 20px 0;
    max-width: 650px;
    margin: auto;
  }
}
@media print, screen and (min-width: 961px) {
  .topBreakfast {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .topBreakfast .topFlexbox-txt {
    width: 31%;
    padding: 0 20px;
  }
  .topBreakfast .topFlexbox-img {
    width: 69%;
  }
}

.topBreakfast-wrap {
  max-width: 1520px;
}

@media print, screen and (max-width: 767.9px) {
  .topFacilities {
    padding-top: 35px;
    padding-bottom: 50px;
  }
  .topFacilities .topFlexbox-txt {
    padding: 50px 20px 0;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .topFacilities {
    padding-top: 50px;
    padding-bottom: 70px;
  }
  .topFacilities .topFlexbox-txt {
    width: -moz-fit-content;
    width: fit-content;
    margin: 50px auto 0;
  }
}
@media print, screen and (max-width: 960px) {
  .topFacilities .topFlexbox-img {
    position: relative;
  }
  .topFacilities .topFacilities-img01 {
    width: 60%;
  }
  .topFacilities .topFacilities-img02 {
    width: 47%;
    position: absolute;
    bottom: 30px;
    right: 0;
  }
}
@media print, screen and (min-width: 961px) {
  .topFacilities {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .topFacilities .topFlexbox-txt {
    width: 53%;
  }
  .topFacilities .topFlexbox-img {
    width: 45%;
  }
  .topFacilities .topFacilities-img02 {
    width: 60%;
    margin-left: auto;
    margin-top: 100px;
    margin-right: 80px;
    margin-bottom: 80px;
  }
}
.topFacilities .topFlexbox-txt .topFacilities-img02 {
  opacity: 0;
  filter: blur(5px);
  transition-property: opacity, transform, filter, letter-spacing;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transform: translateY(20px);
}
.topFacilities .topFlexbox-txt.is-fade .topCom-h2 p {
  transition-delay: 1s;
}
.topFacilities .topFlexbox-txt.is-fade .topCom-h2 h2 {
  transition-delay: 1.5s;
}
.topFacilities .topFlexbox-txt.is-fade .topCom-txt {
  transition-delay: 2s;
}
.topFacilities .topFlexbox-txt.is-fade .topFacilities-img02 {
  opacity: 1;
  transform: none;
  filter: blur(0);
}
@media print, screen and (min-width: 768px) {
  .topFacilities .topCom-txt {
    display: flex;
    align-items: center;
  }
}
@media print, screen and (max-width: 767.9px) {
  .topFacilities .topCom-txt .circle-btn a {
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .topFacilities .topCom-txt .circle-btn {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .topFacilities .topCom-txt .circle-btn {
    margin-left: 50px;
  }
}
@media print, screen and (min-width: 1161px) {
  .topFacilities .topCom-txt .circle-btn {
    margin-left: 80px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .topAccess {
    padding-top: 50px;
    padding-bottom: 100px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .topAccess {
    padding-top: 100px;
    padding-bottom: 150px;
  }
  .topAccess .topFlexbox-img {
    text-align: center;
  }
}
@media print, screen and (max-width: 960px) {
  .topAccess .topFlexbox-txt {
    padding: 50px 20px 0;
    max-width: 500px;
    margin: auto;
  }
}
@media print, screen and (min-width: 961px) {
  .topAccess {
    padding-top: 100px;
    padding-bottom: 250px;
  }
  .topAccess .topFlexbox-txt {
    width: 34%;
    padding: 0 20px;
  }
  .topAccess .topFlexbox-img {
    width: 66%;
  }
}

.topAccess-wrap {
  max-width: 1220px;
}

/* --------------------------------------------------------------
// page
-------------------------------------------------------------- */
main.page {
  overflow: hidden;
}

.ptag {
  margin-bottom: 1.5em;
}
.ptag.p-center {
  text-align: center;
}
.ptag.p-center h3 {
  color: #1c2956;
  padding-bottom: 20px;
  border-bottom: solid 1px #e1e1e1;
}
.ptag.p-right {
  text-align: right;
}
.ptag h2,
.ptag h3 {
  line-height: 2;
}
.ptag p {
  font-size: 14px;
  margin-bottom: 1em;
}
@media print, screen and (max-width: 767.9px) {
  .ptag h2 {
    font-size: 25px;
  }
  .ptag h3 {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .ptag h2 {
    font-size: 36px;
  }
  .ptag h3 {
    font-size: 26px;
  }
}

.link_url {
  margin-top: 30px;
}
.link_url a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #1c2956;
  letter-spacing: 0.05em;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.link_url a:hover span:after {
  animation: ripple 1.5s ease;
}
.link_url a span {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: solid 1px #1c2956;
  border-radius: 50%;
  margin-left: 15px;
  position: relative;
}
.link_url a span::before,
.link_url a span::after {
  content: "";
  position: absolute;
}
.link_url a span::before {
  top: 0;
  bottom: 0;
  margin: auto;
  right: 17px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #1c2956;
  border-right: 1px solid #1c2956;
  transform: rotate(45deg);
}
.link_url a span:after {
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: none;
}

.txt_area h4 {
  letter-spacing: 0.1em;
}
@media print, screen and (max-width: 767.9px) {
  .txt_area h4 {
    font-size: 20px;
    margin-bottom: 1em;
  }
}

.tbl_contents .tbl_main {
  padding: 50px 20px;
}
.tbl_contents .tbl_main ul {
  max-width: 1200px;
}
.tbl_contents .tbl_main table th {
  position: relative;
  padding-right: 40px;
}
.tbl_contents .tbl_main table th::before {
  content: "";
  background-color: #e1e1e1;
  width: 1px;
  height: calc(100% - 20px);
  position: absolute;
  top: 10px;
  right: 0;
}
.tbl_contents .tbl_main table td {
  padding-left: 40px;
}
.tbl_contents .tbl_main table th,
.tbl_contents .tbl_main table td {
  padding-top: 10px;
  padding-bottom: 10px;
}
.tbl_contents .tbl_img {
  background-image: url(../images/top/bg_img01.jpg);
  background-repeat: no-repeat;
}
@media print, screen and (max-width: 767.9px) {
  .tbl_contents .tbl_img {
    padding: 50px 20px;
    background-size: 60%;
    background-position: bottom 25% right -100px;
  }
}
@media print, screen and (min-width: 768px) {
  .tbl_contents .tbl_img {
    padding: 85px 20px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .tbl_contents .tbl_img {
    background-size: 50%;
    background-position: bottom 25% right -100px;
  }
}
@media print, screen and (min-width: 961px) {
  .tbl_contents .tbl_img {
    background-size: auto 100%;
    background-position: top 0 right -445px;
  }
  .tbl_contents .tbl_img ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1320px;
  }
  .tbl_contents .tbl_img li {
    width: 50%;
  }
  .tbl_contents .tbl_img li:nth-child(2) {
    padding-left: 20px;
  }
  .tbl_contents .tbl_img table {
    margin-left: auto;
  }
}
.tbl_contents .tbl_img table {
  max-width: 450px;
}
.tbl_contents .tbl_img table th,
.tbl_contents .tbl_img table td {
  display: block;
}
@media print, screen and (max-width: 767.9px) {
  .tbl_contents .tbl_img table td {
    padding: 15px 0 15px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .tbl_contents .tbl_img table td {
    padding: 25px 0 25px 25px;
  }
}
@media print, screen and (max-width: 960px) {
  .tbl_contents .tbl_img ul li:nth-child(2) {
    margin-top: 35px;
  }
}
.tbl_contents ul {
  margin: auto;
}
.tbl_contents table th {
  color: #1c2956;
}

.tbl01.tbl_contents .tbl_main table {
  table-layout: fixed;
}

.accordion {
  position: relative;
}
.accordion.bg_none::before {
  content: none;
}
.accordion::before {
  content: "";
  position: absolute;
  background-image: url(../images/top/bg_img02.jpg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  z-index: -1;
}
@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .accordion::before {
    width: 441px;
    height: 225px;
    bottom: -140px;
    left: -50px;
  }
}
@media print, screen and (min-width: 1461px) {
  .accordion::before {
    width: 881px;
    height: 450px;
    bottom: -280px;
    left: -100px;
  }
}
.accordion ul li {
  cursor: pointer;
}
.accordion ul.other table th {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .accordion ul.other .sd_content {
    padding: 0 10px 25px;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion ul.qa .sd_content {
    padding: 0 10px 25px 32px;
  }
}
.accordion table th {
  font-weight: normal;
  line-height: 1;
}
@media print, screen and (max-width: 767.9px) {
  .accordion table th {
    font-size: 18px;
    width: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion table th {
    font-size: 20px;
    width: 32px;
  }
}
.accordion .sd_h4 {
  position: relative;
  transition: all 0.5s;
}
@media print, screen and (max-width: 767.9px) {
  .accordion .sd_h4 {
    padding: 15px 35px 15px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion .sd_h4 {
    padding: 20px 50px 20px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion .sd_h4.on {
    padding: 35px 50px 20px 0;
  }
}
.accordion .sd_h4.on .accordion_btn {
  transform: rotate(540deg);
}
.accordion .sd_h4 .accordion_btn {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transition: ease 0.5s;
  display: block;
  color: #1c2956;
  border: solid 1px #1c2956;
  border-radius: 50%;
}
@media print, screen and (max-width: 767.9px) {
  .accordion .sd_h4 .accordion_btn {
    width: 30px;
    height: 30px;
  }
  .accordion .sd_h4 .accordion_btn::before {
    right: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion .sd_h4 .accordion_btn {
    width: 40px;
    height: 40px;
  }
  .accordion .sd_h4 .accordion_btn::before {
    right: 17px;
  }
}
.accordion .sd_h4 .accordion_btn::before,
.accordion .sd_h4 .accordion_btn::after {
  content: "";
  position: absolute;
}
.accordion .sd_h4 .accordion_btn::before {
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #1c2956;
  border-right: 1px solid #1c2956;
  transform: rotate(45deg);
}
.accordion .sd_h4 .accordion_btn:after {
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: none;
}
.accordion .sd_h4 table th {
  color: #1c2956;
}
@media print, screen and (max-width: 767.9px) {
  .accordion .sd_h4 table td {
    font-size: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion .sd_h4 table td {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .accordion .sd_content {
    font-size: 12px;
    padding: 0 0 20px;
  }
}
.accordion .sd_content table th {
  color: #a8a8a8;
}

.carousel-txt {
  letter-spacing: 0.02em;
  line-height: 2.1;
}

.carousel03 .slider-area {
  overflow: hidden;
}
.txt_carousel .link_none a,
.carousel03 .link_none a {
  pointer-events: none;
  display: block;
}
.txt_carousel .type01 .slick-prev,
.txt_carousel .type01 .slick-next,
.carousel03.type01 .slick-prev,
.carousel03.type01 .slick-next {
  display: none !important;
}
.txt_carousel .type02 .slick-dots,
.carousel03.type02 .slick-dots {
  display: none !important;
}
.txt_carousel .slick-dots,
.carousel03 .slick-dots {
  line-height: 1;
  position: relative;
  bottom: 0;
  display: flex;
  max-width: 1200px;
  margin: 8px auto 0;
}
.txt_carousel .slick-dots li,
.carousel03 .slick-dots li {
  margin: 0;
  width: 25%;
  height: 2px;
  max-width: 200px;
}
.txt_carousel .slick-dots li button,
.carousel03 .slick-dots li button {
  width: 100%;
  height: 2px;
}
.txt_carousel .slick-dots li.slick-active button,
.carousel03 .slick-dots li.slick-active button {
  background-color: #1c2956;
}
.txt_carousel .slick-dots li button,
.carousel03 .slick-dots li button {
  padding: 0;
  background-color: #e1e1e1;
}
.txt_carousel .slick-dots li button::before,
.carousel03 .slick-dots li button::before {
  content: none;
}
.txt_carousel .slick-prev,
.txt_carousel .slick-next,
.txt_carousel .slick-prev:hover,
.txt_carousel .slick-prev:focus,
.txt_carousel .slick-next:hover,
.txt_carousel .slick-next:focus,
.carousel03 .slick-prev,
.carousel03 .slick-next,
.carousel03 .slick-prev:hover,
.carousel03 .slick-prev:focus,
.carousel03 .slick-next:hover,
.carousel03 .slick-next:focus {
  border: solid 1px #1c2956;
  border-radius: 50%;
  z-index: 1;
  background-color: #fff;
}
@media print, screen and (max-width: 767.9px) {
  .txt_carousel .slick-prev,
  .txt_carousel .slick-next,
  .txt_carousel .slick-prev:hover,
  .txt_carousel .slick-prev:focus,
  .txt_carousel .slick-next:hover,
  .txt_carousel .slick-next:focus,
  .carousel03 .slick-prev,
  .carousel03 .slick-next,
  .carousel03 .slick-prev:hover,
  .carousel03 .slick-prev:focus,
  .carousel03 .slick-next:hover,
  .carousel03 .slick-next:focus {
    width: 30px;
    height: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_carousel .slick-prev,
  .txt_carousel .slick-next,
  .txt_carousel .slick-prev:hover,
  .txt_carousel .slick-prev:focus,
  .txt_carousel .slick-next:hover,
  .txt_carousel .slick-next:focus,
  .carousel03 .slick-prev,
  .carousel03 .slick-next,
  .carousel03 .slick-prev:hover,
  .carousel03 .slick-prev:focus,
  .carousel03 .slick-next:hover,
  .carousel03 .slick-next:focus {
    width: 40px;
    height: 40px;
  }
}
.txt_carousel .slick-prev:before,
.txt_carousel .slick-next:before,
.txt_carousel .slick-prev:hover:before,
.txt_carousel .slick-prev:focus:before,
.txt_carousel .slick-next:hover:before,
.txt_carousel .slick-next:focus:before,
.carousel03 .slick-prev:before,
.carousel03 .slick-next:before,
.carousel03 .slick-prev:hover:before,
.carousel03 .slick-prev:focus:before,
.carousel03 .slick-next:hover:before,
.carousel03 .slick-next:focus:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}
.txt_carousel .slick-next::before,
.carousel03 .slick-next::before {
  border-top: 1px solid #1c2956;
  border-right: 1px solid #1c2956;
}
.txt_carousel .slick-prev::before,
.carousel03 .slick-prev::before {
  border-bottom: 1px solid #1c2956;
  border-left: 1px solid #1c2956;
}

@media print, screen and (max-width: 960px) {
  .txt_carousel .slick-prev {
    left: 13%;
  }
  .txt_carousel .slick-next {
    right: 13%;
  }
  .txt_carousel .slick-slide {
    margin: 0 7px;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_carousel .slick-slide {
    margin: 0 13px;
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1460px) {
  .txt_carousel .slick-prev {
    left: calc((100vw - 915px) / 2);
  }
  .txt_carousel .slick-next {
    right: calc((100vw - 915px) / 2);
  }
}
@media print, screen and (min-width: 1461px) {
  .txt_carousel .slick-prev {
    left: calc((100vw - 1265px) / 2);
  }
  .txt_carousel .slick-next {
    right: calc((100vw - 1265px) / 2);
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1460px) {
  .txt_carousel .slick-slide,
  .txt_carousel .slick-current {
    max-width: 850px;
  }
}
@media print, screen and (min-width: 1461px) {
  .txt_carousel .slick-slide,
  .txt_carousel .slick-current {
    max-width: 1200px;
  }
}
.txt_carousel .img_top01__inner {
  max-width: 1560px;
}
@media print, screen and (max-width: 767.9px) {
  .txt_carousel .img_top01__inner {
    padding: 0 20px 50px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .txt_carousel .img_top01__inner {
    padding: 35px 20px;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_carousel .img_top01__inner {
    padding: 50px 20px;
  }
}
.txt_carousel .img_top01__inner .txt_wrap {
  margin-top: 0;
}
.txt_carousel .txt_carousel__wrap h4 {
  margin-bottom: 1.5em;
}
@media print, screen and (max-width: 767.9px) {
  .txt_carousel .txt_carousel__wrap h4 {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_carousel .txt_carousel__wrap h4 {
    font-size: 22px;
  }
}

.slide_carousel {
  position: relative;
}
.slide_carousel::before {
  content: "";
  position: absolute;
  background-image: url(../images/top/bg_img04.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  z-index: -1;
  left: 0;
}
@media print, screen and (max-width: 1460px) {
  .slide_carousel::before {
    width: 325px;
    height: 365px;
    bottom: -70px;
  }
}
@media print, screen and (min-width: 1461px) {
  .slide_carousel::before {
    width: 651px;
    height: 729px;
    bottom: -150px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .slide_carousel {
    padding: 100px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .slide_carousel {
    padding: 200px 0;
  }
}
.slide_carousel .carousel03 {
  position: relative;
}
.slide_carousel .carousel03 .slick-dots {
  margin-top: 55px;
  justify-content: center;
}
@media print, screen and (max-width: 767.9px) {
  .slide_carousel .carousel03 .slick-prev {
    left: 12%;
  }
  .slide_carousel .carousel03 .slick-next {
    right: 12%;
  }
  .slide_carousel .carousel03 .slick-slide {
    padding: 0 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .slide_carousel .carousel03 .slick-prev {
    left: 6%;
  }
  .slide_carousel .carousel03 .slick-next {
    right: 6%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .slide_carousel .carousel03 .slick-slide {
    padding: 0 10px;
  }
}
@media print, screen and (min-width: 1161px) {
  .slide_carousel .carousel03 .slick-prev {
    left: 6%;
  }
  .slide_carousel .carousel03 .slick-next {
    right: 6%;
  }
  .slide_carousel .carousel03 .slick-slide {
    padding: 0 18px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .slide_carousel .carousel03 .carousel-txt {
    padding-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .slide_carousel .carousel03 .carousel-txt {
    padding-top: 30px;
  }
}

.slide_thumb .slick-dots,
.slidethumb_txt .slick-dots {
  position: relative;
  bottom: 0;
  margin-top: 2px;
  text-align: right;
}
.slide_thumb .slick-dots li,
.slidethumb_txt .slick-dots li {
  margin: 0 2px 0 0;
  background-color: #000;
}
.slide_thumb .slick-dots li img,
.slidethumb_txt .slick-dots li img {
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (max-width: 767.9px) {
  .slide_thumb .slick-dots li,
  .slidethumb_txt .slick-dots li {
    width: 60px;
    height: 40px;
  }
  .slide_thumb .slick-dots li img,
  .slidethumb_txt .slick-dots li img {
    width: 60px;
    height: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .slide_thumb .slick-dots li,
  .slidethumb_txt .slick-dots li {
    width: 120px;
    height: 80px;
  }
  .slide_thumb .slick-dots li img,
  .slidethumb_txt .slick-dots li img {
    width: 120px;
    height: 80px;
  }
}
.slide_thumb .slick-dots li:last-of-type,
.slidethumb_txt .slick-dots li:last-of-type {
  margin: 0;
}
.slide_thumb .slick-dots li.slick-active img,
.slidethumb_txt .slick-dots li.slick-active img {
  opacity: 1;
}
.slide_thumb .slick-dots li img,
.slidethumb_txt .slick-dots li img {
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0.6;
}

.slide_thumb {
  position: relative;
}
.slide_thumb::before {
  content: "";
  background: url(../images/top/bg_img03.jpg) 0 0 no-repeat;
  background-size: cover;
  position: absolute;
  z-index: -1;
}
@media print, screen and (max-width: 767.9px) {
  .slide_thumb {
    padding: 75px 20px;
  }
  .slide_thumb::before {
    width: 276px;
    height: 450px;
    bottom: -100px;
    right: -50px;
  }
}
@media print, screen and (min-width: 768px) {
  .slide_thumb {
    padding: 100px 20px;
  }
  .slide_thumb::before {
    width: 552px;
    height: 899px;
    bottom: -255px;
    right: -100px;
  }
}
.slide_thumb .slick-dotted.slick-slider {
  margin-bottom: 20px;
}
.slide_thumb .slider-thum {
  max-width: 1620px;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  .slide_thumb h4 {
    font-size: 30px;
    line-height: 1.53;
    margin-bottom: 1.5em;
  }
}
.slide_thumb .txt {
  line-height: 2.25;
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .slide_thumb .txt_area__right {
    padding-left: 50px;
  }
}
@media print, screen and (min-width: 961px) {
  .slide_thumb .txt_area__right {
    padding-left: 100px;
  }
}
@media print, screen and (max-width: 1360px) {
  .slide_thumb .txt_area {
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 1361px) {
  .slide_thumb .txt_area {
    max-width: 1320px;
    margin: auto;
  }
}

@media print, screen and (max-width: 767.9px) {
  .free_layout .col2 > div {
    width: 100% !important;
  }
}
@media print, screen and (min-width: 768px) {
  .free_layout .col2 {
    display: flex;
    justify-content: space-between;
  }
}

.slidethumb_txt > ul {
  max-width: 1320px;
  margin: auto;
}
.slidethumb_txt > ul.img_left01 .txt_wrap__inner {
  margin-left: auto;
}
@media print, screen and (min-width: 1061px) {
  .slidethumb_txt > ul.img_right01 > li {
    flex-direction: row-reverse;
  }
}
@media print, screen and (max-width: 767.9px) {
  .slidethumb_txt > ul > li {
    padding: 35px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .slidethumb_txt > ul > li {
    padding: 50px 0;
  }
}
@media print, screen and (min-width: 1061px) {
  .slidethumb_txt > ul > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .slidethumb_txt > ul > li .img_area {
    width: 60%;
  }
  .slidethumb_txt > ul > li .txt_area {
    width: 40%;
  }
  .slidethumb_txt > ul > li .txt_wrap__inner {
    max-width: 450px;
  }
}
.slidethumb_txt > ul .txt_area {
  padding: 0 20px;
}
@media print, screen and (min-width: 768px) {
  .slidethumb_txt > ul .txt_area h4 {
    font-size: 30px;
    margin-bottom: 1.5em;
  }
}
.slidethumb_txt > ul .txt_wrap {
  line-height: 2.25;
}

.txt_imgarea.img_left01,
.txt_imgarea.img_right01 {
  position: relative;
}
.txt_imgarea.img_left01 ul,
.txt_imgarea.img_right01 ul {
  max-width: 1320px;
  margin: auto;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_left01 ul li,
  .txt_imgarea.img_right01 ul li {
    padding: 45px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_left01 ul li,
  .txt_imgarea.img_right01 ul li {
    padding: 70px 20px;
  }
}
@media print, screen and (max-width: 960px) {
  .txt_imgarea.img_left01 ul li .img_area,
  .txt_imgarea.img_right01 ul li .img_area {
    margin-bottom: 35px;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea.img_left01 ul li,
  .txt_imgarea.img_right01 ul li {
    padding-bottom: 100px;
    display: flex;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1260px) {
  .txt_imgarea.img_left01 ul li .img_area,
  .txt_imgarea.img_right01 ul li .img_area {
    width: 55%;
  }
  .txt_imgarea.img_left01 ul li .txt_area,
  .txt_imgarea.img_right01 ul li .txt_area {
    width: 45%;
  }
}
@media print, screen and (min-width: 1261px) {
  .txt_imgarea.img_left01 ul li .img_area,
  .txt_imgarea.img_right01 ul li .img_area {
    width: 60.5%;
  }
  .txt_imgarea.img_left01 ul li .txt_area,
  .txt_imgarea.img_right01 ul li .txt_area {
    width: 39.5%;
  }
}
.txt_imgarea.img_left01 ul li .txt_inner,
.txt_imgarea.img_right01 ul li .txt_inner {
  max-width: 420px;
}
.txt_imgarea.img_left01 ul li .txt_area h4,
.txt_imgarea.img_right01 ul li .txt_area h4 {
  line-height: 2.25;
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_left01 ul li .txt_area h4,
  .txt_imgarea.img_right01 ul li .txt_area h4 {
    font-size: 30px;
    margin-bottom: 1.5em;
  }
}
.txt_imgarea.img_left01 ul li .txt_area .txt_wrap,
.txt_imgarea.img_right01 ul li .txt_area .txt_wrap {
  line-height: 2.12;
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea.img_left01 ul li .txt_inner {
    margin-left: auto;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea.img_right01 ul li {
    flex-direction: row-reverse;
  }
  .txt_imgarea.img_right01 ul li .txt_inner {
    padding-right: 20px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_left02,
  .txt_imgarea.img_right02 {
    padding: 35px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_left02,
  .txt_imgarea.img_right02 {
    padding: 50px 20px;
  }
}
.txt_imgarea.img_left02 ul,
.txt_imgarea.img_right02 ul {
  max-width: 1520px;
  margin: auto;
}
@media print, screen and (max-width: 560px) {
  .txt_imgarea.img_left02 ul li:not(:last-of-type),
  .txt_imgarea.img_right02 ul li:not(:last-of-type) {
    margin-bottom: 35px;
  }
}
@media print, screen and (min-width: 561px) {
  .txt_imgarea.img_left02 ul,
  .txt_imgarea.img_right02 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .txt_imgarea.img_left02 ul li:nth-child(n + 3),
  .txt_imgarea.img_right02 ul li:nth-child(n + 3) {
    margin-top: 35px;
  }
}
.txt_imgarea.img_left02 ul li,
.txt_imgarea.img_right02 ul li {
  position: relative;
}
@media print, screen and (min-width: 561px) and (max-width: 1160px) {
  .txt_imgarea.img_left02 ul li,
  .txt_imgarea.img_right02 ul li {
    width: 48.5%;
  }
}
@media print, screen and (max-width: 1160px) {
  .txt_imgarea.img_left02 ul li .txt_area,
  .txt_imgarea.img_right02 ul li .txt_area {
    margin-top: 35px;
  }
}
@media print, screen and (min-width: 1161px) {
  .txt_imgarea.img_left02 ul li,
  .txt_imgarea.img_right02 ul li {
    display: flex;
    justify-content: space-between;
    width: 50%;
  }
  .txt_imgarea.img_left02 ul li .img_area,
  .txt_imgarea.img_right02 ul li .img_area {
    width: 47%;
  }
  .txt_imgarea.img_left02 ul li .txt_area,
  .txt_imgarea.img_right02 ul li .txt_area {
    width: 53%;
  }
}
@media print, screen and (min-width: 1161px) and (max-width: 1360px) {
  .txt_imgarea.img_left02 ul li .txt_area,
  .txt_imgarea.img_right02 ul li .txt_area {
    padding: 20px 20px 0;
  }
}
@media print, screen and (min-width: 1361px) {
  .txt_imgarea.img_left02 ul li .txt_area,
  .txt_imgarea.img_right02 ul li .txt_area {
    padding: 50px 50px 0;
  }
}
@media print, screen and (min-width: 1161px) {
  .txt_imgarea.img_right02 ul li {
    flex-direction: row-reverse;
  }
}
.txt_imgarea.img_left02 ul li h4,
.txt_imgarea.img_left02 ul li h4,
.txt_imgarea.img_top03 ul li h4,
.txt_imgarea.img_top04 ul li h4 {
  margin-bottom: 1em;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_left02 ul li h4,
  .txt_imgarea.img_left02 ul li h4,
  .txt_imgarea.img_top03 ul li h4,
  .txt_imgarea.img_top04 ul li h4 {
    font-size: 20px;
  }
}
.txt_imgarea.img_top01 {
  background-image: url(../images/top/bg_img01.jpg);
  background-repeat: no-repeat;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top01 {
    background-size: 60%;
    background-position: right 0 top 35%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .txt_imgarea.img_top01 {
    background-size: 50%;
    background-position: right 0 bottom 40%;
  }
}
@media print, screen and (min-width: 1461px) {
  .txt_imgarea.img_top01 {
    background-size: 1086px;
    background-position: right 0 top 55%;
  }
}
.txt_imgarea.img_top01 ul li .img_area {
  max-width: 1660px;
  margin: auto;
  padding: 0 20px;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top01 ul li .txt_area {
    padding: 35px 20px 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top01 ul li .txt_area {
    padding: 100px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top01 h4 {
    font-size: 30px;
    margin-bottom: 1.5em;
  }
}
.txt_imgarea.img_top01 .txt_wrap {
  line-height: 2.25;
}
.txt_imgarea.img_top02 ul,
.txt_imgarea.img_top03 ul {
  max-width: 1320px;
  margin: auto;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top02 .txt_area,
  .txt_imgarea.img_top03 .txt_area,
  .txt_imgarea.img_top04 .txt_area {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top02 .txt_area,
  .txt_imgarea.img_top03 .txt_area,
  .txt_imgarea.img_top04 .txt_area {
    margin-top: 1.5em;
  }
}
.txt_imgarea.img_top02 {
  background-image: url(../images/top/bg_img02.jpg);
  background-repeat: no-repeat;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top02 {
    padding: 75px 20px 50px;
    background-size: 75%;
    background-position: left 5% top 50%;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top02 {
    padding: 150px 20px 50px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .txt_imgarea.img_top02 {
    background-size: 50%;
    background-position: left 10% top 0;
  }
}
@media print, screen and (min-width: 1461px) {
  .txt_imgarea.img_top02 {
    background-position: left 35% top 0;
    background-size: 881px;
  }
}
.txt_imgarea.img_top02 ul {
  margin: auto;
}
@media print, screen and (min-width: 561px) {
  .txt_imgarea.img_top02 ul {
    display: flex;
    flex-wrap: wrap;
  }
}
@media print, screen and (max-width: 560px) {
  .txt_imgarea.img_top02 ul li:not(:last-of-type) {
    margin-bottom: 3em;
  }
}
@media print, screen and (min-width: 561px) and (max-width: 1060px) {
  .txt_imgarea.img_top02 ul li {
    width: 48%;
  }
  .txt_imgarea.img_top02 ul li:nth-child(odd) {
    margin-right: 4%;
  }
}
@media print, screen and (min-width: 1061px) {
  .txt_imgarea.img_top02 ul li {
    width: 46%;
  }
  .txt_imgarea.img_top02 ul li:nth-child(odd) {
    margin-right: 8%;
  }
}
.txt_imgarea.img_top02 ul li:nth-child(n + 3) {
  margin-top: 5em;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top02 ul li .img_area {
    margin-bottom: 35px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top02 ul li .img_area {
    margin-bottom: 50px;
  }
}
.txt_imgarea.img_top02 ul li h4 {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top02 ul li h4 {
    font-size: 24px;
    margin-bottom: 1.5em;
  }
}
.txt_imgarea.img_top03 {
  position: relative;
}
.txt_imgarea.img_top03::before {
  content: "";
  background: url(../images/top/bg_img03.jpg) 0 0 no-repeat;
  background-size: cover;
  position: absolute;
  right: 0;
  z-index: -1;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top03 {
    padding: 75px 20px;
  }
  .txt_imgarea.img_top03::before {
    width: 276px;
    height: 450px;
    top: -200px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top03 {
    padding: 100px 20px;
  }
  .txt_imgarea.img_top03::before {
    width: 552px;
    height: 899px;
    bottom: 25%;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top03 ul {
    display: flex;
    flex-wrap: wrap;
  }
  .txt_imgarea.img_top03 ul li {
    width: 31%;
    margin-right: 3.5%;
  }
  .txt_imgarea.img_top03 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top03 ul li:not(:last-of-type) {
    margin-bottom: 35px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .txt_imgarea.img_top03 ul li:nth-child(n + 4) {
    margin-top: 35px;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea.img_top03 ul li:nth-child(n + 4) {
    margin-top: 50px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.img_top04 {
    padding: 75px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.img_top04 {
    padding: 100px 20px;
  }
}
.txt_imgarea.img_top04 ul {
  max-width: 1620px;
  margin: auto;
}
@media print, screen and (min-width: 561px) {
  .txt_imgarea.img_top04 ul {
    display: flex;
    flex-wrap: wrap;
  }
}
@media print, screen and (max-width: 560px) {
  .txt_imgarea.img_top04 ul li:not(:last-of-type) {
    margin-bottom: 35px;
  }
}
@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .txt_imgarea.img_top04 ul li {
    width: 48%;
  }
  .txt_imgarea.img_top04 ul li:nth-child(odd) {
    margin-right: 4%;
  }
  .txt_imgarea.img_top04 ul li:nth-child(n + 3) {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea.img_top04 ul li {
    width: 23.5%;
    margin-right: 2%;
  }
  .txt_imgarea.img_top04 ul li:nth-child(4n) {
    margin-right: 0;
  }
  .txt_imgarea.img_top04 ul li:nth-child(n + 5) {
    margin-top: 50px;
  }
}

.img_top01__inner {
  max-width: 1320px;
  margin: auto;
}
@media print, screen and (min-width: 961px) {
  .img_top01__inner {
    display: flex;
    justify-content: space-between;
  }
  .img_top01__inner .top01-left {
    width: 40%;
  }
  .img_top01__inner .txt_wrap {
    width: 53%;
    margin-top: 100px;
  }
}

.link_list {
  position: relative;
}
.link_list.bg_none::before {
  content: none;
}
.link_list::before {
  content: "";
  position: absolute;
  background-image: url(../images/top/bg_img02.jpg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  z-index: -1;
}
@media print, screen and (max-width: 1460px) {
  .link_list::before {
    width: 441px;
    height: 225px;
    top: -100px;
    right: -150px;
  }
}
@media print, screen and (min-width: 1461px) {
  .link_list::before {
    width: 881px;
    height: 450px;
    top: -200px;
    right: -380px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .link_list {
    padding: 50px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .link_list {
    padding: 100px 20px;
  }
}
.link_list ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: auto;
}
.link_list ul.dsn01 li a {
  text-align: center;
  color: #1c2956;
  display: inline-block;
}
@media print, screen and (max-width: 767.9px) {
  .link_list ul.dsn01 li a {
    padding-right: 35px;
  }
}
@media print, screen and (min-width: 768px) {
  .link_list ul.dsn01 li a {
    padding-right: 50px;
  }
  .link_list ul.dsn01 li a:hover .arr_btn:after {
    animation: ripple 1.5s ease;
  }
  .link_list ul.dsn01 li a .arr_btn:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-shadow: none;
  }
}
.link_list ul.dsn01 li a .arr_btn {
  border-color: #1c2956;
  top: 0;
  bottom: 0;
  right: 0;
}
.link_list ul.dsn01 li a .arr_btn::before {
  border-bottom: 1px solid #1c2956;
  border-right: 1px solid #1c2956;
}
.link_list ul.dsn02 li a {
  display: block;
}
.link_list ul.dsn02 li a:hover {
  opacity: 1;
}
.link_list ul.dsn02 li a:hover::before {
  opacity: 0.7;
}
.link_list ul.dsn02 li a::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(34, 36, 44, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.5s;
}
.link_list ul.dsn02 li a .link_txt {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  text-align: center;
  color: #fff;
}
.link_list ul.dsn02 li a .arr_btn {
  border-color: #fff;
  bottom: 30px;
  left: 0;
  right: 0;
}
.link_list ul.dsn02 li a .arr_btn::before {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media print, screen and (max-width: 767.9px) {
  .link_list ul li {
    width: 48%;
  }
  .link_list ul li:nth-child(odd) {
    margin-right: 4%;
  }
  .link_list ul li:nth-child(n + 3) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .link_list ul li {
    width: 23.5%;
    margin-right: 2%;
  }
  .link_list ul li:nth-child(4n) {
    margin-right: 0;
  }
  .link_list ul li:nth-child(n + 5) {
    margin-top: 35px;
  }
}
.link_list ul li a {
  position: relative;
}
.link_list ul li a .arr_btn {
  position: absolute;
  border: solid 1px;
  border-radius: 50%;
  margin: auto;
}
.link_list ul li a .arr_btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}
@media print, screen and (max-width: 767.9px) {
  .link_list ul li a .arr_btn {
    width: 30px;
    height: 30px;
  }
  .link_list ul li a .arr_btn::before {
    right: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .link_list ul li a .arr_btn {
    width: 40px;
    height: 40px;
  }
  .link_list ul li a .arr_btn::before {
    right: 17px;
  }
}

/* プラポリ追加 ---------------------------------　*/
.privacy-policy main p,
.privacy-policy main ul {
  margin-bottom: 1em;
}

/* --------------------------------------------------------------
// category
// single page
-------------------------------------------------------------- */
body.single main,
body.archive main {
  background-image: url(../images/top/loading_bg_img02.webp);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 616px;
}

.wp-caption {
  max-width: 100% !important;
}

@media print, screen and (max-width: 767.9px) {
  article.c_wrap {
    padding: 50px 15px 100px;
  }
}
@media print, screen and (min-width: 768px) {
  article.c_wrap {
    padding: 80px 0 150px;
  }
}

@media print, screen and (min-width: 768px) {
  .c_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .c_wrap .post {
    width: 67%;
  }
  .c_wrap .sidebar {
    width: 27%;
  }
}
.c_wrap .post .post_ttl {
  margin-bottom: 30px;
}

.c_wrap .post .post_ttl h1 {
  padding-bottom: 7px;
  margin-bottom: 7px;
  font-weight: normal;
  text-align: left;
  border-bottom: solid 1px rgba(28, 41, 86, 0.3803921569);
  font-size: 25px;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 560px) {
  .c_wrap .post .post_ttl h1 {
    font-size: 18px;
  }
}
.c_wrap .post .post_ttl .date {
  text-align: right;
}

.c_wrap .post .acv_list li {
  border-bottom: solid 1px #d7d7d7;
  padding: 15px 0;
}

.c_wrap .post .acv_list li:first-of-type {
  border-top: solid 1px #d7d7d7;
}

.c_wrap .post .acv_list li .cat_name {
  margin-bottom: 10px;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li .cat_name {
    margin-bottom: 5px;
  }
}
.c_wrap .post .acv_list li .cat_name span {
  display: inline-block;
  color: #fff;
  padding: 5px 10px;
  font-size: 14px;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li .cat_name span {
    font-size: 12px;
    padding: 2px 5px;
  }
}
.c_wrap .post .acv_list li .cat_name span:not(:first-of-type) {
  margin-left: 5px;
}

.c_wrap .post .acv_list li dl {
  display: flex;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li dl dt {
    width: 100px;
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .c_wrap .post .acv_list li dl dt {
    width: 150px;
  }
}
@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li dl dd {
    width: calc(100% - 100px);
  }
}
@media print, screen and (min-width: 768px) {
  .c_wrap .post .acv_list li dl dd {
    width: calc(100% - 150px);
  }
}
.cat-label p {
  display: inline-block;
  border: 1px solid #eee;
  font-size: 11px;
  color: #fff;
  background-color: rgba(51, 51, 51, 0.7);
  padding: 1px 5px;
  margin-bottom: 3px;
}

.c_wrap .post .post_content p {
  margin-bottom: 1em;
}

.c_wrap .sidebar {
  padding: 30px 15px;
  max-width: 350px;
  background-color: #f0f0f0;
  margin: 0 auto;
  border: solid 1px #d7d7d7;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .sidebar {
    margin: 30px auto 0;
  }
}
.c_wrap .sidebar h2 {
  margin-bottom: 10px;
}

.c_wrap .sidebar .list {
  margin-bottom: 30px;
}

.c_wrap .sidebar .list ul {
  margin-left: 2em;
}

.c_wrap .sidebar .list ul li {
  padding-bottom: 10px;
  list-style-type: disc;
  line-height: 1.5;
  font-size: 90%;
  font-weight: normal;
}

.c_wrap .sidebar select {
  width: 100%;
  padding: 10px 15px 10px;
  font-size: 90%;
  border: 1px solid #c7c7c7;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 16px;
  background-color: #fff;
}

.c_wrap .sidebar select::-ms-expand {
  display: none;
}

.c_wrap .sidebar .archive ul {
  position: relative;
}

.c_wrap .sidebar .archive ul:before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  right: 15px;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  transform: rotate(45deg);
}

.thumb_img {
  position: relative;
}
.thumb_img .cat_list {
  position: absolute;
  top: 10px;
  left: 10px;
  color: #fff;
  font-size: 14px;
  padding: 4px 8px;
  opacity: 0.9;
  border: 1px solid #eee;
  background-color: rgba(51, 51, 51, 0.7);
}

/* ----------
single_pager ------------------ */
.single_pager {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4;
}

.single_pager li {
  width: 32%;
}

.single_pager li.index {
  text-align: center;
}

.single_pager li:nth-child(3) {
  text-align: right;
}

.single_pager li a {
  display: inline-block;
  padding: 15px 0;
  font-size: 14px;
  transition: 0.5s;
  text-align: center;
}

@media print, screen and (max-width: 767.9px) {
  .single_pager li a {
    font-size: 12px;
  }
}
/* ----------
pagenation ------------------ */
.pagenation {
  margin-top: 65px;
}

.pagenation:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.pagenation ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagenation ul li {
  list-style: none outside none;
  margin-left: 3px;
}

.pagenation ul li:first-child {
  margin-left: 0;
}

.pagenation ul li.active {
  background-color: #70644f;
  color: #fff;
  padding: 5px 10px;
}

.pagenation ul li a {
  background: none repeat scroll 0 0 rgba(51, 71, 116, 0.45);
  color: #fff;
  display: block;
  padding: 5px 10px;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  transition: 0.5s;
}

.pagenation ul li a:hover {
  background-color: #70644f;
  color: #fff;
  opacity: 1;
}

.h-rsv a {
  position: relative;
}
.h-rsv::before,
header .h-logo::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  filter: blur(15px);
  position: absolute;
}
header .h-logo::before {
  border-radius: 35%;
}
header .h-logo a {
  position: relative;
}
@media print, screen and (max-width: 767.9px) {
  .h-rsv::before {
    width: 48px;
    height: 100px;
    top: 25px;
    left: -5px;
  }
  header .l-small.h-logo::before {
    top: -12px;
    left: -20px;
    border-radius: 35%;
    width: 70px;
    height: 100px;
  }
  .sp-togglebg {
    background-color: rgba(255, 255, 255, 0.5);
    filter: blur(15px);
    position: fixed;
    top: 0;
    right: 0;
    width: 90px;
    height: 70px;
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) {
  body.home header .h-logo::before,
  body.home .h-rsv::before,
  body.page-id-618 header .h-logo::before,
  body.page-id-618 .h-rsv::before {
    content: none;
  }
  body:not(.home) header .h-logo::before,
  body:not(.page-id-618) header .h-logo::before {
    width: 120px;
    height: 220px;
    top: -80px;
    right: -50px;
  }
  body.home .h-rsv.c-bk::before,
  body.page-id-618 .h-rsv.c-bk::before {
    content: "";
  }
  body .h-rsv::before {
    width: 120px;
    height: 220px;
    top: -80px;
    right: -50px;
  }
  body:not(.home) header .h-logo::before,
  body:not(.page-id-618) header .h-logo::before {
    width: 100px;
    height: 140px;
    top: -20px;
    right: -25px;
  }
}
/*# sourceMappingURL=style.css.map */
