@charset "UTF-8";
/* CSS Document */

:root {
  --hero-radius: 12px;
  --hero-pad-x: 48px;
  --hero-pad-y: 128px;
  --hero-btn: #00a3ff;
  --area-color: #ea9838;
  --color-red: #f83737;
  --color-blue: #5883d2;
  --color-green: #a3be9c;
  --color-orange: #ea9838;
  --color-black: #1d1d1f;
  --color-txt: #6e6e73;
  --color-main: #6db131;
	--vc-grad: linear-gradient(180deg, rgba(79, 172, 32, 1) 15%, rgba(116, 186, 59, 1)65%);
	--area-grad: linear-gradient(180deg, rgba(79, 172, 32, 1) 15%, rgba(116, 186, 59, 1);65%);
  --area-color: #a37dac;
	--area-grad: linear-gradient(180deg, rgba(163, 125, 172, 1) 15%, rgba(176, 141, 176, 1) 65%);
  --bg-dark: #2a2b3f;
  --bg-skyblue: #e4f1ff;
  --bg-green: #cbdbc6;
  --basic-range: min(100%, 970px);
}
@media (max-width: 640px) {
  :root {
    --hero-pad-x: 20px;
    --hero-pad-y: 20px;
  }
}



/* reset styles */
html {
  color: #333;
  /* overflow-y: scroll; */
}

html {
  scroll-behavior: smooth;
}

:target {
  scroll-margin-top: 100px;
}
@media (width < 969px) {
  :target {
    scroll-margin-top: 75px;
  }
}

/* --BODY-- */
body {
  font: 14px/1.5 "Noto Sans JP", YakuHanJP, sans-serif;
  font-weight: 350;
  margin: 0;
  overflow: visible;
  padding: 0;
}

img{
	max-width: 100%;
  height: auto;
  vertical-align: top;
}

picture, figure{
  display: block;
}

a img,
fieldset,
img {
  border: 0;
  max-width: 100%;
}
blockquote,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
ol,
p,
pre,
select,
span,
textarea,
td,
th,
ul {
  margin: 0;
  padding: 0;
}
abbr,
acronym {
  border: 0;
}
address,
caption,
cite,
code,
dfn,
em,
th,
strong,
var {
  font-style: normal;
  font-weight: normal;
}
caption,
th {
  text-align: left;
}
code,
kbd,
pre,
samp,
tt {
  font-family: monospace;
  line-height: 100%;
}
/* for IE7設定 */
* + html code,
kbd,
pre,
samp,
tt {
  font-size: 108%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
input,
select,
textarea {
  font-size: 100%;
  font-family: "Noto Sans JP", YakuHanJP, sans-serif;
  font-weight: 350;
  /* font-family: "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", Osaka, "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif; */
}
ol,
ul {
  list-style: none;
}
q:before,
q:after {
  content: "";
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}


/* テーブル色分け
奇数 */
.price__table_odd-cell tbody tr:nth-of-type(odd) td{
  background: #eff1f6;
}

/* 偶数 */
.price__table_even-cell tbody tr:nth-of-type(even) td{
  background: #eff1f6;
}

/* ========== flex box ========== */

.flex-container{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* ========== Clearfix ========== */
/* For modern browsers */
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix {
  zoom: 1;
}

/* ========== basic configurations ========== */
* {
  margin: 0;
  padding: 0;
  line-height: 166%;
}
html {
  background: #fff;
  /* letter-spacing: .1em; */
  -webkit-text-size-adjust: 100%;
}

/* link basis */
a,
a:link {
  color: #0c59b8;
  text-decoration: none;
}
a:visited {
  color: #0c59b8;
  text-decoration: none;
}
a:hover,
a:focus,
a:active {
  color: #0c59b8;
  text-decoration: underline;
}
a.hover:hover img {
  opacity: 0.8;
}

.indent{
  padding-left: 1em;
  text-indent: -1em;
}

/*  margin, padding and propotion */
.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt55 {
  margin-top: 55px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt65 {
  margin-top: 65px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt1em {
  margin-top: 1.6em !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}
.layC {
  text-align: center !important;
}
.layR {
  text-align: right !important;
}
.layL {
  text-align: left !important;
}

.red{
  color: #f00 !important;
}

.black{
  color: #333 !important;
}

a.black:hover{
  color: #333 !important;
  text-decoration: underline;
}

.u-line{
  text-decoration: underline;
}

.txt_nowrap{
  white-space: nowrap;
}

.icon_aroow::before{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f054";
  font-size: 14px;
}

.note-open {
  color: #f00;
  line-height: 1.2;
  margin-left: 1em;
  font-weight: bold;
}
  .space  .note-open {
    font-size: 142.85714%;
  }
@media screen and (max-width: 969px) {
  .note-open {
      font-size: 14px;
  }

  .space  .note-open {
    margin-left: 0;
    font-size: 120.85714%;
  }
}

/*!!!!! キラリアニメーション !!!!!! */

.shiny{
  display: block;
  position: relative;
  overflow: hidden;
  transition: 300ms;
}

.shiny::before{
	position: absolute;
	content: '';
	display: inline-block;
	top: -400px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
}

.shiny:hover{
	-webkit-transform: translateY(-5px);
}

.shiny:hover::before {
	content: '';
	animation: shinyshiny 1.5s ease-in-out;
}

@-webkit-keyframes shinyshiny {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


/* display changer */
.disp_pc {
	display: block!important;
}
.disp_sp {
	display: none!important;
}
@media screen and (max-width:969px){
	.disp_pc {
		display: none!important;
	}
	.disp_sp {
		display: block!important;
	}
}

/* ===============================================
 PC・タブレット・SPの表示切り替え 重ね掛けOK
=============================================== */
/* SP only */
.d-sp {
	display: none;
}
@media (width <= 640px) {
	.d-sp {
		display: block;
	}
}
/* Tablet only */
.d-sp_tb {
	display: none;
}
@media (641px <= width <= 968px) {
	.d-sp_tb {
		display: block;
	}
}
/* PC only */
.d-pc {
	display: none;
}
@media (width >= 969px) {
	.d-pc {
		display: block;
	}
}


/* ========== common ========== */
body {
  position: relative;
}
.w970 {
  width: var(--basic-range);
  margin: 0 auto;
}

.contents{
  width: var(--basic-range);
  margin: 0 auto;
}

.container{
  width: min(calc(100% - 40px), 1180px);
  margin: 40px auto auto;
}


/* button */
.button {
  border: 1px solid #ccc;
  border-radius: 5px;
}
.button a {
  display: inline-block;
  width: 100%;
  padding: 12px 0 12px 10px;
  color: #343434;
  font-size: 114.28571%;
  line-height: 1em;
  font-weight: bold;
}
.button_pdf a,
.button_pptx a {
  width: calc(100% - 27px);
  padding-right: 0;
  background-image: url(/common/images/icon/pdf.svg);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 27px 30px;
}
.button_pdf a {
  background-image: url(/common/images/icon/pdf.svg);
}
.button_pptx a {
  background-image: url(/common/images/icon/pptx.svg);
}
.button a span {
  padding-left: 17px;
  background-image: url(/common/images/icon/button_arrow.svg);
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: 7px 11px;
  color: #343434;
  font-size: 114.28571%;
  line-height: 1em;
  font-weight: bold;
}
.button a span br {
  display: none;
}

.vc-grad{
  background: var(--vc-grad);
}
.site-grad{
  background: var(--area-grad);
}


/* ========== header ========== */
header {
  /* border-bottom: 1px solid #ccc; */
}
.header_pc {
  display: block;
}
.header_sp {
  display: none;
}
.headerLead {
  background: #333333;
  padding-top: 1px;
}
.headerLead div {
  color: #fff;
  font-size: 71%;
}
.headerMain {
  padding: 12px 0 0 0;
  background: rgba(255, 255, 255, 0.8);
}
.headerMainL {
  float: left;
  width: 310px;
  padding-top: 5px;
}
.headerMainL a {
  display: block;
  width: 310px;
  height: 75px;
}
.headerMainL a img {
  display: block;
  width: 310px;
  height: 75px;
}
.headerMainR {
  float: right;
  width: 600px;
}
.headerMainRUpperVCS {
  display: block;
  width: 427px;
  margin: 0 0 10px auto;
}
.headerMainRUpper2 {
  display: block;
  width: 418px;
  margin: 0 0 0 auto;
  text-align: center;
}
.headerMainRUpper2 span {
  display: block;
}
.headerMainRUpper2 a {
  display: block;
  width: 100%;
  color: #fff;
  background: #7159a6;
  border-radius: 3px;
  transition: ease .3s;
}
.headerMainRUpper2 a:hover {
  /* background: #666; */
  opacity: .8;
  text-decoration: none;
  transition: ease .3s;
}
.headerMainRUpperR {
  float: right;
  width: 133px;
  margin-left: 10px;
}
.headerMainRUpperVCTop {
  float: right;
  width: 284px;
}
.headerMainRUpperLPP {
  float: right;
  width: 142px;
}
.headerMainRUpperLCT {
  float: right;
  width: 133px;
  margin-right: 10px;
}
.headerMainRUpperR a {
  display: block;
  width: 133px;
  height: 18px;
}
.headerMainRUpperVCTop a {
  display: block;
  width: 284px;
  height: 18px;
}
.headerMainRUpperLPP a {
  display: block;
  width: 142px;
  height: 18px;
}
.headerMainRUpperLCT a {
  display: block;
  width: 133px;
  height: 18px;
}
.headerMainRUpperVCTop a img {
  display: block;
  width: 284px;
  height: 18px;
}
.headerMainRUpperR a img {
  display: block;
  width: 133px;
  height: 18px;
}
.headerMainRUpperLPP a img {
  display: block;
  width: 142px;
  height: 18px;
}
.headerMainRUpperLCT a img {
  display: block;
  width: 133px;
  height: 18px;
}
.headerTel {
  width: 345px;
  margin: 10px 0 0 auto;
}
.headerTel a {
  display: block;
  width: 345px;
  height: 41px;
}
.headerTel a img {
  display: block;
  width: 345px;
  height: 41px;
}


/* ========== header ========== */
header{
  /* position: sticky;
  top: 0;
  z-index: 15; */
  width: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  transition: top .3s ease-in-out, background-color .3s ease-in-out;
}
header{
  /* padding-block: 8px; */
    box-shadow: 0px 0px 10px -5px #777777;
}

header{
  /* padding-block: 8px; */
    box-shadow: 0px 0px 10px -5px #777777;
}
@media (width < 768px) {
  header{
    height: 60px;
  }
}
@media (width < 1024px) {
  header{
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 1);
    height: 60px;
  }
}

.inner-page header{
  position: sticky;
}

.heder-inner__top,
.heder-inner__bottom{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: var(--basic-range);
  margin: auto;
  position: relative;
}

.heder-inner__bottom{
   margin-top: 10px;
  border-top: solid 1px #cccccc;
}

@media (width < 1024px) {
  .heder-inner__bottom{
    display: none;
  }
}

.sp--heder-tel{
  width: 60px;
  height: 60px;
  background: #6db231;
  display: block;
  display: flex;
  position: fixed;
  top: 0px;
  right: 60px;
  z-index: 100;
  font-weight: 500;
  font-size: 11px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
@media (1024px <= width) {
  .sp--heder-tel{
    display: none;
  }
}

.sp--heder-tel a{
  text-align: center;
  line-height: 1.2;
  color: #fff;
}

.sp--heder-tel a i{
  color: #fff;
  font-size: 28px;
  text-align: center;
  margin: auto;
  margin-top: 5px;
}

.cv__buttons {
    display: flex;
    position: fixed;
    top: 0;
    right:0;
    z-index: 100;
}

.heder__inner__nav{
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  height: 100%;
  width: 100%;
}
@media (width < 1024px) {
  .heder__inner__nav{
    display: none;
  }
}
.heder__inner__nav > a {
  transition: all .3s;
  color: #333333;
  font-weight: 500;
  white-space: nowrap;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px 15px;
  position: relative;
  text-decoration: none;
}

/*** headerアイコン ***/
.heder__inner__nav > a:nth-of-type(1)::before{
  /* content: "\f6c0"; */
  /* content: "\f0ca"; */
  content: "\f022";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:nth-of-type(2)::before{
  content: "\f51e";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:nth-of-type(3)::before{
  content: "\f279";
  /* content: "\f2a1"; */
  /* content: "\f52b"; */
  /* content: "\f009"; */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 11px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:nth-of-type(4)::before{
  content: "\f3c5";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:nth-of-type(5)::before{
  content: "\f059";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 11px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:nth-of-type(6)::before{
  content: "\f019";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:nth-of-type(7)::before{
  content: "\f0e0";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 12px;
  transform: translate(-50%);
  color: var(--color-main);
  font-size: 1.25em;
  z-index: 2;
}

.heder__inner__nav > a:hover::before{
  color: var(--area-color);
  transition: all .3s;
}


/*** headerアイコン ***/

/* header.is-scrolled .heder__inner__nav > a:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 15px;
  left: -25px;
  height: 15px;
  width: 1px;
  background: #cccccc;
} */

.heder__inner__nav > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 7px;
  width: 0;
  height: 2px;
  background-color: var(--area-color);
  transition: all 0.4s ease;
}

.heder__inner__nav > a:hover::after,
.heder__inner__nav > a.is-active::after {
  width: calc(100% - .4em);
  left: -.6em;
}

.heder__inner__nav > a.is-active::before{
  color: var(--area-color);
}

  .heder__inner__nav > a:hover{
    transition: all .3s;
    text-decoration: none;
  }

  .tel-box{
    display: flex;
    flex-wrap: wrap;
    width: 392px;
    margin-top: 10px;
  }
  @media (width < 1024px) {
    .tel-box{
      display: none;
    }
  }

  a.top-link{
    color: #fff;
    display: block;
    width: 100%;
    text-align: center;
    background: #333333;
    color: #ffffff;
    height: 100%;
    text-decoration: none;
    line-height: 1.7;
    font-size: 12px;
    letter-spacing: 1px;
    transition: all .3s;
    font-weight: 500;
  }

  a.top-link:hover{
    opacity: .8;
    transition: all .3s;
  }

  address.btn_h-tel *{
    line-height: 1.2;
  }

 address.btn_h-tel{
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

 address.btn_h-tel a{
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 5px 10px;
  font-size: 18px;
  color: #fff;
  text-align: center;
  height: 100%;
  white-space: nowrap;
  /* width: clamp(9rem, 2.423rem + 10.28vw, 12.25rem); */
  width: 196px;
  pointer-events: none;
}

 address.btn_h-tel a p{
  display: block;
  text-align: center;
 }
address.btn_h-tel a p.tel-txt-reserved{
    font-size: .7em;
    font-weight: 500;
  }

 address.btn_h-tel a p.tel-txt{
    font-weight: 600;
    line-height: 1;
    /* margin-top: 3px; */
    letter-spacing: .5px;
  }
address.btn_h-tel a p.tel-txt .tel-txt__small{
  font-size: .8em;
  line-height: 1.2;
  letter-spacing: 1px;
 }
address.btn_h-tel a p.tel-time{
  font-size: .6em;
  font-weight: 500;
}

.logo{
  width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 10px;
}
@media (width < 1025px) {
.logo{
    width: 220px;
    height: 55px;
    margin-left: 10px;
  }
}

.lead--pc {
  font-size: clamp(0.875rem, 0.442rem + 0.85vw, 1.25rem);
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  margin-left: 25px;
  margin-right: auto;
  align-self: end;
  line-height: 4em;
  color: #444343;
  width: auto;
}
.lead--sp {
  display: none;
}
@media (width < 1160px) {
  .lead--pc {
    display: none;
  }
  .lead--sp {
    display: block;
    font-size: 18px;
    font-family: "Noto Serif JP", serif;
    position: absolute;
    top: 90px; /* header(80px) + margin(10px) */
    left: 20px;
    z-index: 2;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    /* font-weight: 500; */
    font-weight: 700;
  }
}
@media (width < 1025px) {
  .lead--sp {
    top: 70px; /* header(60px) + margin(10px) */
  }
.smooth_sp {
  display: none;
  }
}

  .lead--sp span{
    display: none;
  }
  @media (640px <= width)  {
  .lead--sp span{
    display: inline-block;
  }
}

  .lead--sp br{
    display: none;
  }
  @media (width < 640px) {
    .lead--sp br{
    display: block;
  }
  }

  .scroll_header{
    position: fixed;
    top: -150px;
    left: 0;
    box-shadow: 0px 0px 10px -5px #777777;
    z-index: 40;
    width: 100%;
    background: #fff;
    transition: all .5s;
    z-index: 1002;
    }
    @media (width < 1024px) {
     .scroll_header{
        display: none;
     }
    }

  .scroll_header .heder-inner__bottom {
    margin-top: 5px;
  }

  .scroll_header .logo{
    width: 200px;
  }

 .scroll_header .tel-box {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: 436px;
    height: 45px;
    margin-top: 5px;
    overflow: hidden;
  }

  .scroll_header-read{
    font-weight: 700;
    font-size: 13px;
    width: 130px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: #eee;
  }
  .scroll_header-read p{
    line-height: 1.2;
  }

  .scroll_header address.btn_h-tel{
    height: 45px;
  }

  .scroll_header address.btn_h-tel a{
      background: linear-gradient(90deg,rgba(109, 178, 49, 1) 32%, rgba(117, 186, 56, 1) 77%, rgba(119, 189, 58, 1) 92%);
    }
  .pc__other-areas{
    width: 110px;
    height: 45px;
    overflow: hidden;
  }

  .pc__other-areas a{
    font-size: 13px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #333;
    text-align: center;
    transition: all .3s;
    text-decoration: none;
    line-height: 1.2;
    border: none;
  }

  /* .pc__other-areas a:hover{
    opacity: .8;
    transition: all .3s;
    line-height: 1.2;
    border: none;
  } */

  .pc__other-areas,
  .pc__other-areas *{
    line-height: 1.2;
    box-sizing: border-box;
  }

  /*!!!!!!! ハンバーガーメニュー !!!!!!!*/
#navArea nav {
  display: block;
  position: fixed;
  top: 0;
  right: -100%;
  bottom: 0;
  width: 100%;
  /* background: #ffffff; */
  background: var(--bg-dark);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .4s;
  z-index: 80;
  opacity: 0;
}
body.open {
  overflow: hidden;
}

.open #navArea nav {
  right: 0;
  opacity: 1;
}
#navArea nav .inner {
  padding: 0 0 25px;
  box-sizing: border-box;
}
#navArea nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
}
#navArea nav .inner ul li {
  position: relative;
  margin: 0;
  width: calc(50% - .5px);
}

#navArea nav .inner ul li:not(.address-tel)::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  transform: rotate(45deg) translate(-50%);
  top: 50%;
  right: 8px;
}

#navArea nav .inner ul li.free {
  width: 100%;
  text-align: center;
  border-bottom: solid 1px #eee;
}

#navArea nav .inner ul:first-of-type li:nth-child(-n+7) {
  border-bottom: solid 1px #5da122;
}

#navArea nav .inner ul:first-of-type li:nth-child(-n+6) a {
  padding: 12px 15px 12px;
}

#navArea nav .inner ul:first-of-type li:nth-child(-n+6):nth-child(2n) {
  border-left: solid 1px #5da122;
}

#navArea nav .inner ul:first-of-type li:nth-child(-n+7) {
    background: #6db231;
  }

#navArea nav .inner ul:first-of-type li:nth-child(-n+8) a {
  font-size: 18px;
}

#navArea nav .inner ul li:not(.free) a{
    padding: 0 15px 10px;
  }

#navArea nav .inner ul li a {
  display: block;
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
  padding: 1em;
  line-height: 1.2;
  text-decoration: none;
  transition-duration: 0.2s;
}
 #navArea nav .inner ul li a span:not(.tel-number) {
  display: block;
  font-size: .9em;
  font-weight: 700;
  color: #d6ff5f;
  line-height: 1.2;
}
#navArea nav .inner ul:first-of-type li:nth-of-type(9) *,
#navArea nav .inner ul:first-of-type li:nth-of-type(10) * {
  line-height: 1.15;
}
#navArea nav .inner ul li a span.tel-number{
  font-size: 1.6em;
  color: #fff;
  font-weight: 600;
}
 #navArea nav .inner ul li a em {
  font-style: normal;
  font-size: .9em;
}

#navArea nav .inner ul li a.nav-tel span:not(.tel-number) {
  color: var(--color-blue);
  display: inline-block;
  font-size: 1.4em;
}

 #navArea nav .inner ul li a span.other-area{
    font-size: 1.1em;
 }

#navArea nav .inner ul li.sp-contact{
  background: var(--color-orange);
}

#navArea nav .inner ul li.sp-contact a.nav-contact{
  color: #fff;
  span{
    color: #fff;
    font-size: 1.25em;
  }
}


.nav-title{
  margin-top: 40px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  padding-left: 15px;
  padding-bottom: 5px;
  border-bottom: 4px solid #6eb42f;
}


#navArea nav .inner .nav-title + ul.support-page_list{
  margin-top: 10px;
}

#navArea nav .inner .nav-title + ul.support-page_list a{
  font-size: 18px;
  text-align: left;
}

/*============
.toggle_btn
=============*/

.toggle_btn {
  display: block;
  background: var(--bg-dark);
  position: relative;
  width: 80px;
  height: 80px;
  transition: all .5s;
  cursor: pointer;
  z-index: 1000;
}
@media screen and (max-width: 1025px) {
  .toggle_btn {
    width: 60px;
    height: 60px;
  }
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 50%;
  width: 40px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 4px;
  transition: all .5s;
  transform: translateX(-50%);
}
@media screen and (max-width: 1025px) {
  .toggle_btn span {
    width: 30px;
  }
}
.toggle_btn span:nth-child(1) {
  top: 30px;
}
.toggle_btn span:nth-child(2) {
  top: 42px;
}
@media screen and (max-width: 1025px) {
  .toggle_btn span:nth-child(1) {
    top: 20px;
  }
  .toggle_btn span:nth-child(2) {
    top: 29px;
  }
}
.toggle_btn .menu-text {
  position: absolute;
  right: 0;
  width: 80px;
  bottom: 15px;
  text-align: center;
  top: auto;
  color: #ffffff;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 1025px) {
  .toggle_btn .menu-text {
    top: 36px;
    width: 100%;
    font-size: 10px;
  }
}

.open .toggle_btn .menu-text{
  opacity: 0;
}

@media (1024px <= width) {
  .toggle_btn {
    display: none;
  }
}

.open .toggle_btn span:nth-child(1) {
  top: 27px;
  transform: translateX(-50%) rotate(45deg);
}
.open .toggle_btn span:nth-child(2) {
  top: 27px;
  transform: translateX(-50%) rotate(-45deg);
}


/*============
#mask
=============*/
#mask {
  position: fixed;
  top: 0;
  left: -100%; /* 初期位置: 画面の左外 */
  width: calc(100% - 400px);
  height: 100%;
  background: #000;
  opacity: 0;    /* 初期状態: 透明 */
  z-index: 20;
  cursor: pointer;
  transition: opacity .4s, left .4s; /* opacity と left の両方に transition を適用 */
}
.open #mask {
  left: 0;       /* 表示位置: 画面の左端 */
  opacity: .7;
}
@media screen and (max-width: 767px) {
  #mask {
    width: calc(100% - 220px);
  }
}


/* !!!!!!!.headerTel2025 !!!!!!!*/

.footerTel {
  width: 428px;
  margin: 10px 0 0 auto;
}
.footerTel a {
  display: block;
  width: 428px;
  height: 20px;
}
.footerTel a img {
  display: block;
  width: 428px;
  height: 20px;
}

/*!! ========== footer-contents__txt-links ========== */

.footer-contents__txt-links{
	border-bottom: solid 2px #cccccc;
	margin-top: 30px;
	padding-bottom: 40px;
	margin-bottom: 10px;
}
	@media (width < 969px) {
		.footer-contents__txt-links {
			display: none;
		}
	}

.border__r{
	border-right: solid 1px #ccc;
	margin-right: 1em;
	padding-right: 1em;
}

.facility_list{
	border-top: solid #e1e1e1 2px;
	margin-top: 5px;
	padding-top: 5px;
	width: 12em;
	position: relative;
}

.footer__area_map,
.footer__service{
	width: min(98%, var(--basic-range));
	margin: auto;
}


.footer__area_map {
	display: grid;
	grid-template-columns: repeat(1, 200px) repeat(1, 160px) repeat(5, 140px);
	/* grid-template-columns: repeat(1, 1.4fr) repeat(1, 1.3fr) repeat(2, 1.1fr) repeat(2, .8fr) 1fr; */
	grid-template-rows: .5fr repeat(6, 1fr);
	grid-column-gap: 10px;
	grid-row-gap: 20px;
	margin: auto;
	font-size: 12px;
	text-align: center;
	}


.footer__area_map > div {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	line-height: 1.4;
	padding-block: 10px;
}

.footer__area_map > :is(.area_tokyo01,
	.area_shinjuku01,
	.area_minatoku_north01,
	.area_minatoku_south01,
	.area_chiyodaku01,
	.area_yokohama01) {
	align-items: flex-start;
	padding-top: 5px;
}

.title_map { grid-area: 1 / 1 / 2 / 2; font-size: 14px; font-weight: bold}
.title_facility { grid-area: 1 / 2 / 2 / 3; font-size: 14px; font-weight: bold}
.area_tokyo { grid-area: 2 / 1 / 3 / 2; }
/* .area_tokyo01 { grid-area: 2 / 1 / 3 / 2; } */
.area_tokyo02 {
	grid-area: 2 / 2 / 3 / 3;
	a{
		margin-top: 5px;
	}
}
.area_tokyo03 { grid-area: 2 / 3 / 3 / 4; }
.area_tokyo04 { grid-area: 2 / 4 / 3 / 5; }
.area_tokyo05 { grid-area: 2 / 5 / 3 / 6; }
.area_tokyo06 { grid-area: 2 / 6 / 3 / 7; }

.area_shinjuku { grid-area: 3 / 1 / 4 / 2; }
.area_shinjuku02 {
	grid-area: 3 / 2 / 4 / 3;
	a{
		margin-top: 5px;
	}
 }
.area_shinjuku03 { grid-area: 3 / 3 / 4 / 4; }

.area_minatoku_north { grid-area: 4 / 1 / 5 / 2; }
.area_minatoku_north02 {
	 grid-area: 4 / 2 / 5 / 3;
		a{
			margin-top: 5px;
		}
	}
.area_minatoku_north03 { grid-area: 4 / 3 / 5 / 4; }

.area_minatoku_south { grid-area: 5 / 1 / 6 / 2; }
.area_minatoku_south02 {
	grid-area: 5 / 2 / 6 / 3;
		a{
		margin-top: 5px;
	}
}
.area_minatoku_south03 { grid-area: 5 / 3 / 6 / 4; }
.area_minatoku_south04 { grid-area: 5 / 4 / 6 / 5; }
.area_minatoku_south05 { grid-area: 5 / 5 / 6 / 6; }
.area_minatoku_south06 { grid-area: 5 / 6 / 6 / 7; }

.area_chiyodaku { grid-area: 6 / 1 / 7 / 2; }
.area_chiyodaku02 {
	grid-area: 6 / 2 / 7 / 3;
		a{
		margin-top: 5px;
	}
}
.area_chiyodaku03 { grid-area: 6 / 3 / 7 / 4; }

.area_yokohama { grid-area: 7 / 1 / 8 / 2; }
.area_yokohama02 {
	grid-area: 7 / 2 / 8 / 3;
	a{
		margin-top: 5px;
	}
}
.area_yokohama03 { grid-area: 7 / 3 / 8 / 4; }

/* .areas{
	padding-top: 5px;
} */

.footer-contents__txt-links a:visited,
.footer-contents__txt-links a,
.footer__service a:visited,
.footer__service a{
 color: #000;
}

.footer-contents__txt-links a:hover{
 text-decoration: none;
}

.footer__area_map > div a {
	display: block;
	transition: all .3s;
}
.footer__area_map > div a:not(.border__r a)::after,
 .facility_list::after,
 .footer__service a::after{
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		content: "\f054";
    font-size: 10px;
    color: #c1c1c1;
    padding-left: 0.5em;
    position: relative;
    /* bottom: .5px; */
    top: 1px;
		transition: all .3s;
	}

.footer__area_map > div a:not(.border__r a):hover::after,
.footer__service a:hover::after {
	color: #fff;
	transition: all .3s;
}

.footer__area_map > div a:not(.border__r a),
.footer__service a{
	width: 100%;
	height: 2em;
	border-radius: 30px;
	border: solid 1px #ccc;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.6;
}


.footer__area_map .area_tokyo:hover ~ :is(.area_tokyo02, .area_tokyo03, .area_tokyo04, .area_tokyo05, .area_tokyo06) a,
:is(.area_tokyo02, .area_tokyo03, .area_tokyo04, .area_tokyo05, .area_tokyo06) a:hover {
  color: #fff;
  background-color: #a37dac;
  transition: all .3s;
}

/* .area_tokyo ホバー時にアイコンの色を変更 */
.footer__area_map .area_tokyo:hover ~ :is(.area_tokyo02, .area_tokyo03, .area_tokyo04, .area_tokyo05, .area_tokyo06) a::after {
  color: #fff;
}
.footer__area_map .area_tokyo:hover .facility_list{
	border-color: #a37dac;
}

.footer__area_map .area_shinjuku:hover ~ :is(.area_shinjuku02, .area_shinjuku03) a,
:is(.area_shinjuku02, .area_shinjuku03) a:hover {
  color: #fff;
  background-color: #f0a200;
  transition: all .3s;
}

/* .area_shinjuku ホバー時にアイコンの色を変更 */
.footer__area_map .area_shinjuku:hover ~ :is(.area_shinjuku02, .area_shinjuku03) a::after{
  color: #fff;
}
.footer__area_map .area_shinjuku:hover .facility_list{
	border-color: #f0a200;
	transition: all .3s;
}

.footer__area_map .area_minatoku_north:hover ~ :is(.area_minatoku_north02, .area_minatoku_north03) a,
:is(.area_minatoku_north02, .area_minatoku_north03) a:hover {
  color: #fff;
  background-color: #033e8a;
  transition: all .3s;
}

/* .area_minatoku_north ホバー時にアイコンの色を変更 */
.footer__area_map .area_minatoku_north:hover ~ :is(.area_minatoku_north02, .area_minatoku_north03) a::after {
  color: #fff;
}
.footer__area_map .area_minatoku_north:hover .facility_list{
	border-color: #033e8a;
	transition: all .3s;
}

.footer__area_map .area_minatoku_south:hover ~ :is(.area_minatoku_south02, .area_minatoku_south03, .area_minatoku_south04, .area_minatoku_south05, .area_minatoku_south06) a,
:is(.area_minatoku_south02, .area_minatoku_south03, .area_minatoku_south04, .area_minatoku_south05, .area_minatoku_south06) a:hover {
  color: #fff;
  background-color: #39c0de;
  transition: all .3s;
}

/* .area_minatoku_south ホバー時にアイコンの色を変更 */
.footer__area_map .area_minatoku_south:hover ~ :is(.area_minatoku_south02, .area_minatoku_south03, .area_minatoku_south04, .area_minatoku_south05, .area_minatoku_south06) a::after,
:is(.area_minatoku_south02, .area_minatoku_south03, .area_minatoku_south04, .area_minatoku_south05, .area_minatoku_south06) a:hover {
  color: #fff;
}
.footer__area_map .area_minatoku_south:hover .facility_list{
	border-color: #39c0de;
	transition: all .3s;
}

.footer__area_map .area_chiyodaku:hover ~ :is(.area_chiyodaku02, .area_chiyodaku03) a,
:is(.area_chiyodaku02, .area_chiyodaku03) a:hover {
  color: #fff;
  background-color: #d7cb00;
  transition: all .3s;
}

/* .area_chiyodaku ホバー時にアイコンの色を変更 */
.footer__area_map .area_chiyodaku:hover ~ :is(.area_chiyodaku02, .area_chiyodaku03) a::after {
  color: #fff;
}
.footer__area_map .area_chiyodaku:hover .facility_list{
	border-color: #d7cb00;
	transition: all .3s;
}


.footer__area_map .area_yokohama:hover ~ :is(.area_yokohama02, .area_yokohama03) a,
:is(.area_yokohama02, .area_yokohama03) a:hover {
  color: #fff;
  background-color: #2fab94;
  transition: all .3s;
}

/* .area_yokohama ホバー時にアイコンの色を変更 */
.footer__area_map .area_yokohama:hover ~ :is(.area_yokohama02, .area_yokohama03) a::after {
  color: #fff;
}

.footer__area_map .area_yokohama:hover .facility_list{
	border-color: #2fab94;
	transition: all .3s;
}

/* 3行目以降の要素に20pxのマージンを追加して、行間を実質30pxにする */
.footer__area_map > div[class^="area_shinjuku"],
.footer__area_map > div[class^="area_minatoku_north"],
.footer__area_map > div[class^="area_minatoku_south"],
.footer__area_map > div[class^="area_chiyodaku"],
.footer__area_map > div[class^="area_yokohama"] {
    margin-top: 5px;
}

/*!! ========== キャンペーン ========== */

.footer__service{
	margin-top: 30px;
}


.footer__service-inner {
	display: grid;
	/* grid-template-columns: repeat(2, .5fr) 1fr; */
		/* grid-template-columns: repeat(3, .5fr) .3fr; */
		grid-template-columns: 172px 192px 172px 80px;
	grid-template-rows: .5fr repeat(4, 1fr);
	grid-column-gap: 10px;
	grid-row-gap: 25px;
	padding-block: 10px;
	font-size: 12px;
	text-align: center;
	margin-left: 188px;
	border-left: solid 1px #ccc;
	padding-left: 2em;
	width: 650px;
}

.title__campaign { grid-area: 1 / 1 / 2 / 2; font-size: 14px; font-weight: bold }
.campaign_banquet { grid-area: 2 / 1 / 3 / 2; }
.campaign_thank { grid-area: 3 / 1 / 4 / 2; }
.title__service { grid-area: 1 / 2 / 2 / 3; font-size: 14px; font-weight: bold}
.service_choki { grid-area: 2 / 2 / 3 / 3; }
.campaign_party { grid-area: 3 / 2 / 4 / 3; }
.service_office { grid-area: 4 / 2 / 5 / 3; }
.service_shukuhaku { grid-area: 5 / 2 / 6 / 3; }
.service_online { grid-area: 2 / 3 / 3 / 5; }
.service_event-hall { grid-area: 3 / 3 / 4 / 5; }
.service_kiyaku{ grid-area: 4 / 3 / 5 / 5; }
.service_owner { grid-area: 5 / 3 / 5 / 5; }

.footer__service-inner > div[class^="title__service"],
.footer__service-inner > div[class^="service_choki"],
.footer__service-inner > div[class^="campaign_party"],
.footer__service-inner > div[class^="service_office"],
.footer__service-inner > div[class^="service_shukuhaku"] {
			margin-left: 20px;
}

/* .area_minatoku_north ホバー時にアイコンの色を変更 */
.title__campaign:hover ~ :is( .campaign_banquet, .campaign_thank) a::after,
.title__service:hover ~ :is(.campaign_party, .service_choki, .service_office, .service_shukuhaku, .service_online, .service_event-hall, .service_kiyaku, .service_owner) a::after{
  color: #fff;
}
.title__campaign:hover ~ :is(.campaign_banquet, .campaign_thank) a,
.title__service:hover ~ :is(.campaign_party, .service_choki, .service_office, .service_shukuhaku, .service_online,.service_event-hall, .service_kiyaku, .service_owner) a{
	transition: all .3s;
	background-color: #5cc400;
	color: #fff;
}

.footer__area_map .area_minatoku_south:hover ~ :is(.area_minatoku_south02, .area_minatoku_south03, .area_minatoku_south04, .area_minatoku_south05, .area_minatoku_south06) a,
:is(.area_minatoku_south02, .area_minatoku_south03, .area_minatoku_south04, .area_minatoku_south05, .area_minatoku_south06) a:hover {
  color: #fff;
  background-color: #39c0de;
  transition: all .3s;
}


.footer__service a:hover{
	transition: all .3s;
	background-color: #5cc400;
	color: #fff;
}


/*!! ========== footer-contents__txt-links ========== */

/* ========== mainContents ========== */
/* sec01 */
.sec01 {
}
.sec01 .splash {
}
.sec01 .splash span.pc {
  display: block;
}
.sec01 .splash span.sp {
  display: none;
}
.sec01 .splash span.pc img {
  display: block;
  width: var(--basic-range);
  height: 450px;
}
.sec011Wrapper {
  display: table;
  width: 100%;
}
.sec011aL {
  display: table-cell;
  width: 705px;
  vertical-align: top;
}
.sec011aL img {
  display: block;
  width: 705px;
  heiht: 215px;
}
.sec011aR {
  display: table-cell;
  width: 250px;
  vertical-align: middle;
  padding-left: 15px;
}
.sec011aR img {
  display: block;
  width: 250px;
  heiht: 215px;
}
.sec011WrapperSP {
  display: none;
}
/* aside infoLink2 20160810 */
.infoLink2 {
  display: block;
  background: #f2ecd8;
  width: 910px;
  padding: 14px 30px 15px 30px;
}
.infoLink21 {
  display: block;
  width: 556px;
  height: 18px;
  margin: 0 auto;
}
.infoLink21 img {
  display: block;
  width: 556px;
  height: 18px;
}
.infoLink22 {
  display: table;
  width: 910px;
  margin: 14px auto 0 auto;
}
.infoLink221 {
  display: table-cell;
  vertical-align: middle;
  width: 358px;
}
.infoLink221 a,
.infoLink221 a img {
  display: block;
  width: 358px;
  height: 65px;
}
.infoLink222 {
  display: table-cell;
  vertical-align: middle;
  width: 250px;
  padding-left: 24px;
}
.infoLink222 a,
.infoLink222 a img {
  display: block;
  width: 250px;
  height: 45px;
}
.infoLink21SP,
.infoLink22SP {
  display: none;
}
.topFeature {
  width: var(--basic-range);
  margin: 40px auto 0 auto;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
}
.topFeature dl {
  display: table;
  width: 100%;
  margin-top: 10px;
  font-size: 114%;
}
.topFeature dl dt {
  display: table-cell;
  vertical-align: top;
  width: 5em;
}
.topFeature dl dt span {
  display: block;
  width: 4em;
  background: #ccc;
  border-radius: 5px;
  text-align: center;
}
.topFeature dl dd {
  display: table-cell;
  vertical-align: top;
}

/* ========== gototop ========== */

#gototopWrapper {
  display: block;
  position: fixed;
  bottom: 15px;
  right: 20px;
}
#gototop {
  width: 65px;
  height: 65px;
}
#gototop a {
  display: block;
}

/* ========== footer ========== */
footer {
  margin-top: 100px;
  border-top: 2px solid #ccc;
}
.footerLink {
  margin-bottom: 15px;
  padding: 15px 0 15px 0;
  border-bottom: 1px solid #ccc;
  font-size: 85%;
  text-align: left;
}
.footerLink span {
  display: inline-block;
  margin-right: 10px;
}
.footerLink span.vcall {
  margin-left: 0;
}
.footerLink span a {
  padding-left: 10px;
  background: url(/common/images/footerLinkBit.gif) no-repeat 0 50%;
  color: #333;
}
.footerLink span.vcall a {
  background: none;
  padding-left: 0;
}
.footerWrapper {
  padding: 0 0 14px 0;
}
.footerL {
  float: left;
  width: 326px;
}
.footerL p {
  font-size: 86%;
}
.footerL a {
  display: block;
  width: 260px;
  height: 63px;
  margin: 5px 0 0 0;
}
.footerL a img {
  display: block;
  width: 260px;
  height: 63px;
}
.footerR2 {
  float: right;
  width: 452px;
  /* padding-top: 17px; */
}
.footerR2 p {
  margin-top: 5px;
  font-size: 83%;
  text-align: right;
}
.footerSeal {
  /* float: right; */
  /* width: 100px;
  margin-top: 15px;
  margin-left: 20px; */
}
.footerLinkSP,
.footerWrapperSP,
.copyrightSP {
  display: none;
}
.copyright {
  background: #333;
}
.copyright div {
  color: #fff;
  font-size: 71%;
  text-align: center;
}

/* GNAVI */
.formPage .heder-inner__bottom {
  display: none;
}

@media (1024px <= width) {
  .formPage .logo{
    padding: 5px 0;
  }
}

.formPage .tel-box,
.formPage .cv__buttons{
  display: none;
}

.formPage .sp--heder-tel{
  right: 0;
}


/** パンくず **/
nav[aria-label="Breadcrumb"]{
  position: relative;
  width: min(100%, var(--basic-range));
  margin: auto;
}

.inner-page nav[aria-label="Breadcrumb"]{
  margin: 20px auto 40px;
}
@media (width < 1024px) {
  .inner-page nav[aria-label="Breadcrumb"]{
    margin: 5px auto 30px;
  }
}
@media (width < 767px) {
  nav[aria-label="Breadcrumb"],
  .inner-page nav[aria-label="Breadcrumb"]{
    display: none;
  }
}

ol.c-breadcrumb {
  position: relative;
  z-index: 2;
  top: -30px;
  left: 20px;
  display: block;
  width: calc(100% - 20px);
}

.inner-page ol.c-breadcrumb{
  position: sticky;
}

ol.c-breadcrumb li {
  color: #fff;
  font-size: 90%;
  text-shadow: 1px 1px 2px #000;
  display: inline-block;
}
@media (width < 969px) {
  ol.c-breadcrumb {
    left: 20px;
  }
.inner-page nav[aria-label="Breadcrumb"] ol.c-breadcrumb{
    margin-inline: 10px;
  }
  ol.c-breadcrumb li {
    font-size: 78.5%;
  }
}
ol.c-breadcrumb li a {
  color: #fff;
  text-shadow: 1px 1px 2px #000;
}
ol.c-breadcrumb li:after {
  content: ">";
  padding: 0 5px;
}
ol.c-breadcrumb li:last-child:after {
  content: "";
  padding: 0;
}

.inner-page ol.c-breadcrumb li {
  color: #333;
  text-shadow: none;
}

.inner-page ol.c-breadcrumb li a {
  color: #333;
  text-shadow: none;
}

/*!!!!!!!! イントラで使っているので残し !!!!!!*/
h1.site_title{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* page title */
h1.pagetitle {
  margin: 30px 0;
  border-bottom: 2px solid #cfcfcf;
  font-size: 171%;
  font-weight: bold;
}
h1.pagetitle.title_space {
  background: url(/common/images/title_space.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_price {
  background: url(/common/images/title_price.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_floor {
  background: url(/common/images/title_floor.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_access {
  background: url(/common/images/title_access.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_download {
  background: url(/common/images/title_download.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_privacy {
  background: url(/common/images/title_privacy.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_contact {
  font-size: 195%;
  background: url(/common/images/title_contact.gif) no-repeat 100% 50%;
}
h1.pagetitle.title_faq {
  background: url(/common/images/title_faq.gif) no-repeat 100% 50%;
}


/*! ===================================!*/
/*! mv hero-slider */
/*! ==================================== !*/

a.btn__orange {
  display: inline-block;
  background: var(--color-orange);
  color: #fff;
  text-align: center;
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  transition: ease .3s;
}
@media (width < 767px) {
  a.btn__orange {
    padding: 8px 14px;
    font-size: 14px;
  }
}

a.btn__green {
  display: inline-block;
  background: linear-gradient(90deg, rgba(79, 172, 32, 1) 0%, rgba(116, 186, 59, 1) 50%, rgba(79, 172, 32, 1) 100%);
  background-size: 200% 100%;
  background-position: left bottom;
  color: #fff;
  text-align: center;
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  transition: background-position .5s ease;
}
@media (width < 767px) {
  a.btn__orange {
    padding: 8px 14px;
    font-size: 14px;
  }
}

a.btn__green:hover {
  background-position: right bottom;
}

.mv{
  position: relative;
  font-family: YakuHanJP;
}
@media (640px <= width) {
  .mv{
    letter-spacing: 1px;
    width: var(--basic-range);
    margin: 0 auto;
    }
}
  .mv .swiper {
    width: 100%;
    height: 100%;
  }

  .mv .swiper {
    /* aspect-ratio: 1530 / 760; */
    aspect-ratio: 970 / 450;
  }
  @media (768px <= width < 1024px)  {
  .mv .swiper {
      aspect-ratio: 768 / 700;
    }
  }
  @media (width < 767px) {
  .mv .swiper {
      aspect-ratio: 375 / 480;
    }
  }

  .mv .swiper-wrapper {
    height: 100%;
  }

  .mv .swiper-slide {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /* padding-top: calc(40%); */
    box-sizing: border-box;
    overflow: hidden;
  }
  @media (width < 767px) {
    .mv .swiper-slide {


    }
  }

  .mv .swiper-slide .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  /* .mv .swiper-slide .image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.25));
  } */
  .mv .swiper-slide .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* overflow: hidden; */
    object-fit: cover;
    /* filter: grayscale(0.9); */
  }


  .mv .swiper-slide .two_column .image:nth-of-type(2) {
    left: 50%;
  }

  .mv .swiper-slide .two_column .image:nth-of-type(2) img {
    left: -50%;
    /* 元画像のどのあたりを表示するか */
  }
  @media (width < 767px) {
    .mv .swiper-slide .two_column .image{
      width: 100%;
      height: 50%;
    }

    .mv .swiper-slide .two_column .image:nth-of-type(2) {
        bottom: 0;
        top: 50%;
        left: 0;
    }

    .mv .swiper-slide .two_column .image:nth-of-type(2) img {
      left: 0;
    }
  }

  .mv .caption {
    position: absolute;
    /* 下からの位置 */
    left: 0;
    bottom: 30px;
    z-index: 1;
    color: #fff;
    width: var(--basic-range);
    overflow: hidden;
    padding: 1.5em;
    box-sizing: border-box;
  }
@media (970px <= width) {
    .mv .caption {
        left: calc((100% - var(--basic-range)) / 2);
        bottom: 60px;
        /* bottom: 80px; */
    }
  }

 .mv .swiper-inner__img.party-logo{
    width: clamp(34.375rem, 20.462rem + 21.74vw, 41.25rem);
    position: relative;
    left: 50%;
    top: 30px;
    transform: translate(-50%);
  }
  @media (width < 640px) {
  .mv .swiper-inner__img.party-logo{
      width: calc(100% + 3em);
      top: -20px;
    }
  }


  .mv .title {
    margin: 0 0 15px;
    /* font-size: clamp(20px, 4vw, 35px); */
    font-size: clamp(20px, 4vw, 32px);
    font-weight: 700;
    line-height: 1.5;
    text-shadow: 1px 2px 3px #000;
  }
  @media (768px <= width <= 1180px)  {
    .mv .title {
      font-size: 28px;
    }
  }

  .mv .title .notice {
    font-size: .7em;
    display: inline-block;
    padding: 5px 10px;
    background: linear-gradient(90deg,rgba(248, 55, 55, 1) 0%, rgba(248, 55, 55, 0.48) 100%);
  }

  .mv .text {
    line-height: 1.6;
    margin: 30px 0 15px;
  }

.mv .swiper-horizontal>.swiper-pagination-bullets, .mv .swiper-pagination-bullets.swiper-pagination-horizontal, .mv .swiper-pagination-custom, .mv .swiper-pagination-fraction{
  width: 100%;
  left: 22px;
  bottom: 20px;
}
@media (1931px <= width) {
.mv .swiper-horizontal>.swiper-pagination-bullets, .mv .swiper-pagination-bullets.swiper-pagination-horizontal, .mv .swiper-pagination-custom, .mv .swiper-pagination-fraction{
  display: none;
}
}
@media (1180px <= width) {
  .mv .swiper-horizontal>.swiper-pagination-bullets, .mv .swiper-pagination-bullets.swiper-pagination-horizontal, .mv .swiper-pagination-custom, .mv .swiper-pagination-fraction{
  width: min(calc(100% - 20px), var(--basic-range));
  left: calc((100% - var(--basic-range)) / 2 + 22px);
  bottom: clamp(0.625rem, -16.232rem + 22.86vw, 5.625rem);
}
}
@media (1024px <= width < 1179px)  {
  .mv .swiper-horizontal>.swiper-pagination-bullets, .mv .swiper-pagination-bullets.swiper-pagination-horizontal, .mv .swiper-pagination-custom, .mv .swiper-pagination-fraction{
    bottom: clamp(2.5rem, -5.758rem + 12.9vw, 3.75rem);
  }
}

.mv .swiper-pagination{
  text-align: left;
}

.mv .swiper-pagination span{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  text-align: left;
  }
  @media (width < 767px) {
    .mv .swiper-pagination span{
      width: 8px;
      height: 8px;
    }
  }

.mv .swiper-pagination span.swiper-pagination-bullet-active{
  background: rgba(255, 255, 255, 1);
}


.img-route_map{
  width: 280px;
  position: absolute;
  transform: translate(-50%);
  left: 85%;
  bottom: 0;
}
@media (width < 640px) {
.img-route_map{
    width: 50%;
    position: absolute;
    transform: translate(-50%);
    left: 75%;
    bottom: 0;
  }
}
@media (768px <= width < 821px)  {
.img-route_map{
    width: 240px;
    position: absolute;
    transform: translate(-50%);
    left: 83%;
    top: 20px;
    bottom: auto;
  }
}

/*! ===================================!*/
/*! mv hero-slider */
/*! ==================================== !*/

section,
.form{
  h2.pagetitle,
  h3.infoTitle {
    margin: 30px 0;
    border-bottom: 2px solid #cfcfcf;
    font-size: 171%;
    font-weight: bold;
    padding-left: 0;
  }
  @media (768px <= width) {
      h2.pagetitle.title_space {
        background: url(/common/images/title_space.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_price {
        background: url(/common/images/title_price.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_floor {
        background: url(/common/images/title_floor.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_access {
        background: url(/common/images/title_access.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_download {
        background: url(/common/images/title_download.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_privacy {
        background: url(/common/images/title_privacy.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_contact {
        font-size: 195%;
        background: url(/common/images/title_contact.gif) no-repeat 100% 50%;
      }
      h2.pagetitle.title_faq {
        background: url(/common/images/title_faq.gif) no-repeat 100% 50%;
      }
  }
}

/* privacy */
.privacypolicy {
  width: var(--basic-range);
  margin: 0 auto;
  font-size: 100%;
}
.privacypolicy p {
  margin-top: 2em;
}

/* space */
.space {
  width: var(--basic-range);
  min-height: 600px;
  margin: 0 auto;
}

/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.space h2 {
  display: block;
  margin: 40px 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  /* line-height: 1em; */
  line-height: 166%;
}
.space h2 em {
  margin-right: 0.5em;
  font-size: 142.85714%;
  font-weight: bold;
  line-height: 1em;
}
/*!!!!!! h2はイントラで使っているので残し !!!!!!*/

.space h3 {
  display: block;
  margin: 40px 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  /* line-height: 1em; */
  line-height: 166%;
}
.space h3 em {
  margin-right: 0.5em;
  font-size: 142.85714%;
  font-weight: bold;
  line-height: 1em;
}

.spaceWrapper {
  display: table;
  width: var(--basic-range);
}
.spaceL {
  /* float: left; */
  display: table-cell;
  vertical-align: bottom;
  width: auto;
  padding-left: 18px;
  border-top: 1px solid #333;
}
.spaceL1 {
}
.spaceL1 a {
  float: left;
  display: block;
  width: 215px;
  height: 156px;
  margin-right: 20px;
}
.spaceL1 a:last-child {
  margin-right: 0;
}
.spaceL1 img,
.spaceL1 a img {
  display: block;
  width: 215px;
  height: 156px;
}
.spaceL1 a:hover img {
  opacity: 0.8;
}
.flipimgDetailRoomSP {
  display: none;
}
.spaceBottomWrapper {
  display: block;
  padding-bottom: 30px;
  border-bottom: 1px dotted #ccc;
}
.spaceBottom {
  margin-top: 30px;
  width: 100%;
  background: #ebebeb;
}
.spaceL2 {
  /* width: calc(100% - 10px); */
  width: 440px;
  margin-top: 25px;
  padding: 20px 0 20px 10px;
  background: #ebebeb;
}
.spaceBottom .spaceL2 {
  width: 440px;
  margin: 25px auto 0 auto;
}
.spaceL3 {
  width: 440px;
  margin-top: 25px;
}
.spaceL3 a {
  display: block;
  width: calc(100% - 23px);
  padding: 20px 0 20px 30px;
  color: #343434;
  background-color: #fff;
  background-image: url(/images/icon360.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 13px) 50%;
  background-size: 45px 45px;
  border: 2px solid #6db231;
  border-radius: 5px;
  font-size: 114.28571%;
  font-weight: bold;
}
.spaceL3 a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.spaceL3 a span {
  padding-left: 28px;
  background: url(/common/images/icon/button_arrow.svg) no-repeat 0 50%;
  background-size: 8px 13px;
  line-height: 1em;
}
.space_btn_price {
  float: left;
  width: 136px;
}
.space_btn_price a,
.space_btn_price a img {
  display: block;
  width: 136px;
  height: 30px;
}
.space_btn_floor {
  float: left;
  width: 136px;
  margin-left: 10px;
}
.space_btn_floor a,
.space_btn_floor a img {
  display: block;
  width: 136px;
  height: 30px;
}
.space_btn_contact {
  float: left;
  width: 137px;
  margin-left: 10px;
}
.space_btn_contact a,
.space_btn_contact a img {
  display: block;
  width: 137px;
  height: 30px;
}
.space_btn_price a:hover img,
.space_btn_floor a:hover img,
.space_btn_contact a:hover img {
  opacity: 0.8;
}
.space_btn_price span,
.space_btn_floor span,
.space_btn_contact span {
  display: none;
}

.spaceR {
  /* float: left; */
  display: table-cell;
  vertical-align: bottom;
  width: auto;
  padding-top: 20px;
  border-top: 1px solid #333;
}

.spaceR h3 {
  color: #333;
  font-size: 114%;
  font-weight: bold;
  line-height: 1em;
}
.spaceR h3.mt20 {
  margin-top: 15px !important;
}
.spaceR h3:before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}

.spaceR h4 {
  color: #333;
  font-size: 114%;
  font-weight: bold;
  line-height: 1em;
}
.spaceR h4.mt20 {
  margin-top: 15px !important;
}
.spaceR h4:before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}
.spaceR p.spaceUnit {
  padding-right: 0.5em;
  text-align: right;
  line-height: 1em;
}
.spaceR table {
  width: calc(100% - 2px);
  margin-top: 5px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.spaceR table th,
.spaceR table td {
  vertical-align: middle;
  padding: 2px 0;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
}
.spaceR table thead th {
  padding: 6px 0;
  color: #fff;
  background: #5c5c5c;
}
.spaceR table thead td {
  padding: 6px 0;
  color: #fff;
  background: #333;
}
.spaceR table thead th span,
.spaceR table thead td span {
  font-size: 86%;
}
.spaceR table thead th,
.spaceR table thead td,
.spaceR table thead th br,
.spaceR table thead td br,
.spaceR table thead th span,
.spaceR table thead td span {
  line-height: 1.2em;
}
.spaceR table tbody td {
  width: 99px;
}
.spaceR table tbody td,
.spaceR table tbody td br {
  line-height: 1.4em;
}
.indoorview {
}
.indoorviewWrapper {
  display: block;
  width: var(--basic-range);
  height: 600px;
  margin: 0 auto 0 auto;
  padding-top: 10px;
  border-top: 1px solid #000;
}
.indoorviewWrapper iframe {
  display: block;
  width: var(--basic-range);
  height: 600px;
}

/* price */
.price {
  width: var(--basic-range);
  margin: 0 auto;
}
.sec02 {
}
.sec02 h1 {
  padding-bottom: 2px;
  border-bottom: 2px solid #cfcfcf;
}
.sec02 h1 span {
  display: block;
  padding-top: 5px;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  font-size: 142%;
  font-weight: bold;
  line-height: 1em;
  letter-spacing: 0.04em;
}

/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.sec02 h2 {
  margin-top: 20px;
  color: #333;
  font-size: 114%;
  font-weight: bold;
}
.sec02 h2:not(.pagetitle):before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}
/*!!!!!! h2はイントラで使っているので残し !!!!!!*/

.sec02 h3 {
  margin-top: 20px;
  color: #333;
  font-size: 114%;
  font-weight: bold;
}
.sec02 h3:not(.pagetitle):before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}




.sec02 h4 {
  /* margin-top: 10px; */
  color: #6eb42f;
  font-size: 114%;
  font-weight: bold;
}
.sec02 h4 br {
  display: none;
}

.sec02 p {
  text-align: right;
}
.sec02 table {
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.sec02 table thead {
  width: 100%;
}
.sec02 table thead td {
  vertical-align: middle;
  background: #333;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  color: #fff;
  font-size: 100%;
  text-align: center;
  line-height: 1.2;
  padding-block: 5px;
}
.sec02 table thead td.wf1 {
  width: 66px;
}
.sec02 table thead td.wf2 {
  /* width: 98px; */
  width: 85px;
}
.sec02 table thead td.wf3 {
  width: 80px;
}
.sec02 table thead td.wf4 {
  width: 110px;
}

.grande table thead td.wf1{
	width: 60px !important;
}

.grande table thead td.wf2{
	width: 80px !important;
}

.grande table thead td.wf4{
	width: 100px !important;
}

.sec02 table thead td.bgGray {
  background: #5c5c5c;
}
.sec02 table tbody th {
  vertical-align: middle;
  padding: 5px 5px;
  background: #f1f2e4;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
  line-height: 1.2;
}


.sec02 table tbody td {
  vertical-align: middle;
  padding: 5px 0;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
}
.sec02 table tbody td,
.sec02 table tbody td br {
  line-height: 1.4em;
}
.sec02 table tbody tr.bgb td {
  background: #eff1f6;
}
i.setcap {
  display: block;
  padding: 0 20px 0 40px;
  font-style: normal;
  text-align: left;
}
span.bihincap {
  display: block;
  margin-top: 5px;
  line-height: 1.7em;
  font-size: 80% !important;
}
.sec02 table tbody th div,
.sec02 table tbody td div {
  min-height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec02 table thead th.yohaku,
.sec02 table thead td.yohaku,
.sec02 table tbody th.yohaku,
.sec02 table tbody td.yohaku {
  padding-left: 5px;
  padding-right: 5px;
  box-sizing: border-box;
}
.sec02 table tbody td a.onlineLink {
  display: inline-block;
  color: #fff;
  /* margin-left: 1em; */
  padding: 0.2em 2em;
  border: 1px solid #659d37;
  border-radius: 5px;
  background: #659d37;
  font-size: 90%;
  line-height: 1em;
  position: relative;
  top: -2px;
  margin-left: .5em;
}

.sec02 table tbody td.content-center{
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: 15px;

  p{
      text-align: left;
      width: 330px;
      position: relative;
  }
}

.sec02 table tbody td{

  .arteria {
    width: 100px;
    object-fit: cover;
    height: 20px;
    margin-right: -.5em;
  }


  .nuro {
    font-family: "Noto Sans Bengali", serif;
    font-weight: 900;
    font-style: normal;
    font-size: 20px;
    margin-left: .3em;
    color: #262626;
  }
  @media (width < 969px) {
    .nuro {
      font-size: 16px;
    }
  }

}




.sec02 table tbody td a.onlineLink span {
  background: url(../images/bihin/bit_white.png) no-repeat 0 50%;
  padding-left: 10px;
  line-height: 1em;
}
.sec02 table tbody td a.onlineLink:hover {
  color: #fff;
  border: 1px solid #84b160;
  background: #84b160;
  text-decoration: none;
}
.sec02 table.sec02__copy-table{
  width: min(100%, 400px);
  margin-left: 0;
}
.sec02 table.sec02__copy-table thead td:first-of-type{
  width: 98px;
}
.sec02 table.sec02__copy-table thead td{
  background-color: #6eb52f;
}
.bihinPic {
  display: block;
  width: 150px;
  height: 100px;
}
.sec02 table span {
  font-size: 90%;
}
.sec02 table span i {
  display: block;
  line-height: 1.2em;
  font-style: normal;
}
.sec02 table span i:last-of-type {
  margin-bottom: 0.3em;
}
.sec02_01 {
}
.sec02_01L {
  float: left;
  width: 380px;
}
.sec02_01L div {
  width: 346px;
  padding: 15px;
  border: 2px solid #cfcfcf;
}
.sec02_01L div h4 {
  font-weight: bold;
  margin-bottom: 5px;
}
.sec02_01L div p {
  text-align: left;
  line-height: 1.3em;
}
.sec02_01R {
  width: calc(100% - 410px);
  float: left;
  margin-left: 30px;
}
.sec02_01R p,
.sec02_02 p {
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}
.facilitiesTable {
  width: var(--basic-range);
}
.facilitiesTable tbody tr th {
  width: 150px;
  padding: 5px;
}
.facilitiesTable tbody tr td:first-of-type {
  width: 202px;
  padding: 3px 5px;
}
.facilitiesTable tbody tr td:first-of-type span {
  font-size: 72%;
}
.facilitiesTable tbody tr td:nth-of-type(2) {
  width: 100px;
  padding: 3px 0;
}
.facilitiesTable tbody tr td:nth-of-type(3) span {
  font-size: 90%;
}

.catering {
  width: var(--basic-range);
  margin: 60px auto 0 auto;
}
/* .catering h1 {
  display: block;
  margin: 40px 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  font-size: 143%;
  font-weight: bold;
  line-height: 1em;
} */

/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.catering h2,
 h3.catering03Title {
  width: 100%;
  margin: 20px 0 0 0;
  color: #333;
  font-size: 114%;
  font-weight: bold;
}
.catering h2.catering__tilte-green {
  display: block;
  margin: 40px 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  font-size: 143%;
  font-weight: bold;
  line-height: 1em;
  width: auto;
}
.catering h2:before,
 h3.catering03Title:before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}
.catering h2.catering__tilte-green:before {
  content: "";
  margin-right: 0;
}

/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.catering h3,
 h3.catering03Title {
  width: 100%;
  margin: 20px 0 0 0;
  color: #333;
  font-size: 114%;
  font-weight: bold;
}
.catering h3.catering__tilte-green {
  display: block;
  margin: 40px 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  font-size: 143%;
  font-weight: bold;
  line-height: 1em;
  width: auto;
}

h3.catering01Title:before,
.catering h4:not(.campaign__lead):before,
 h3.catering03Title:before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}
.catering h3.catering__tilte-green:before {
  content: "";
  margin-right: 0;
}


.catering00 {
  width: 100%;
  border-bottom: 1px solid #333;
}
.catering01 {
  width: 780px;
  margin: 0 auto;
}
.cateringTitle {
  display: block;
  width: 780px;
  margin: 0 auto;
}
.cateringTitle h3,
.cateringTitle h4 {
  display: block;
  vertical-align: middle;
  width: 100%;
  font-weight: bold;
}
.cateringBtn2 {
  display: block;
  vertical-align: middle;
}

.cateringBtn2.c_coffee {
  display: block;
  vertical-align: middle;
  margin-bottom: 30px;
  margin-right: 0;
  margin-left: auto;
  width: 200px;
}
@media (200px <= width < 969px)  {
.cateringBtn2.c_coffee {
    margin: 30px auto 40px !important;
}
}

.cateringBtn2 a {
  display: inline-block;
  padding: 0 10px;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 5px;
  text-align: center;
}
.cateringBtn2 a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.cateringBtn2 a span {
  background: url(/common/images/footerLinkBit.gif) no-repeat 0 50%;
  padding-left: 10px;
}
.cateringContWrapper {
  width: 780px;
  margin: 10px auto 0 auto;
}
.cateringCont {
  float: left;
  width: 200px;
  margin-right: 90px;
}
.cateringContWrapper .cateringCont:nth-child(3n) {
  margin-right: 0;
}
.cateringCont span {
  display: block;
  margin-top: 5px;
  text-align: center;
}
.cateringCont span i,
.cateringCont span b {
  display: inline-block;
  font-weight: normal;
  font-style: normal;
}
.cateringCont span b {
  font-size: 100%;
  /* margin-left: 0.5em; */
}
.cateringCont span b + b {
  margin-left: 0.2em;
}
.cateringCont img {
  display: block;
  width: 100%;
  height: auto;
}
.catering01cap {
  font-size: 86%;
}
.catering02 {
  width: 780px;
  margin: 10px auto 0 auto;
}
.catering02L {
  float: left;
  p{
    margin-bottom: 2em;
  }
  @media (200px <= width < 969px)  {
    p{
    margin-bottom: 1em;
    }
  }
}
@media (200px <= width < 969px)  {
  .catering02L {
    order: 2;
  }
}
.catering02R {
  float: right;
  width: min(100%, 300px)!important;
  margin-top: clamp(0.625rem, -0.945rem + 7.85vw, 6.563rem);
}
@media (200px <= width < 969px)  {
.catering02R {
  order: 1;
}
}
.catering02R img {
  display: block;
  width: 100%;
  object-fit: cover;
}
@media (200px <= width < 969px)  {
  .catering02R img {
      height: 200px;
  }
}
.catering03 {
  width: 780px;
  margin: 10px auto 0 auto;
}
.catering03L {
  float: left;
}
@media (200px <= width < 969px)  {
  .catering-box{
    display: flex;
    flex-direction: column;
  }
}

.party01 {
  display: block;
  width: 780px;
  height: 288px;
  margin-top: 20px;
}
.party01 img {
  display: block;
  width: 780px;
  height: 288px;
}
.catering03R {
  display: none;
  /* float: right; */
}
.catering03R a,
.catering03R a img {
  display: none;
  /* display: block; */
  width: 365px;
  height: 117px;
}
.catering03R a:hover img {
  opacity: 0.8;
}
.catering2020 {
  display: block;
  width: 780px;
  margin: 10px auto 0 auto;
}
.catering2020 img {
  display: block;
  width: 780px;
  height: 311px;
}
.catering2020 p {
  margin-top: 20px;
}
.caterling2020Inner {
  display: block;
  width: 500px;
  margin: 20px auto 0 auto;
}
.caterling2020Inner h3 {
  font-size: 114.28571%;
  font-weight: bold;
}
.caterling2020Inner ul {
  display: block;
  padding: 20px 0 17px 60px;
  background: #f1f2e4;
}
.caterling2020Inner ul li {
  margin-bottom: 3px;
  font-size: 128.571428571%;
}
/* floor */
.floor {
  width: var(--basic-range);
  margin: 0 auto;
}
.floor2 {
  width: var(--basic-range);
  margin: 0 auto;
}
.floor p.lead {
}
/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.floorTitleH2 {
  width: 100%;
  border-bottom: 1px solid #333;
  padding-top: 40px;
}
.floorH2 {
  display: block;
  margin: 0 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  font-size: 143%;
  font-weight: bold;
  line-height: 1em;
}
/*!!!!!! h2はイントラで使っているので残し !!!!!!*/

.floorTitleH3 {
  width: 100%;
  border-bottom: 1px solid #333;
  padding-top: 40px;
}
.floorH3 {
  display: block;
  margin: 0 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  font-size: 143%;
  font-weight: bold;
  line-height: 1em;
}
.floorLayoutBtn {
  margin-bottom: 50px;
}
.floorSp {
  display: none;
}

@media screen and (max-width: 969px) {

  .floorSpBtnWrapper li{
      margin-right: 20px;
  }

  .floorSpBtnWrapper li:nth-of-type(3n){
    margin-right: 0;
}
}

/*!!!!! access !!!!*/
.mapv{
	margin-top: 20px;
	min-height: 130px;
}
.access {
  width: var(--basic-range);
  margin: 0 auto;
}

.accessH2 {
  margin-top: 40px;
  color: #333;
  font-size: 114%;
  font-weight: bold;
}
.accessH2:before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}
.accessH2.gmapTitle {
  width: var(--basic-range);
  margin: 40px auto 0 auto;
}

.accessWrapper {
  display: table;
  width: 100%;
}
.sec03L {
  display: table-cell;
  vertical-align: top;
  width: 428px;
}
.sec03L p.lead {
  font-size: 142%;
  font-weight: bold;
  line-height: 1.4em;
  margin-bottom: 1em;
}
.sec03L p.lead br {
  line-height: 1.4em;
}
.sec03L p.address {
  font-size: 114%;
  /* margin-top: 1em; */
  margin-bottom: 1.5em;
}
.sec03L p.addressCap {
  font-size: 114%;
}
.sec03R {
  display: table-cell;
  vertical-align: top;
  width: 522px;
  padding-left: 20px;
  text-align: right;
}
.sec03R img {
  display: block;
  width: 522px;
  height: 448px;
  margin-left: auto;
}
.gmap {
  position: relative;
  z-index: 0;
  display: block;
  width: 968px;
  height: 398px;
  margin: 20px auto 0 auto;
  border: 1px solid #ccc;
}
.gmap iframe {
  display: block;
  width: 968px;
  height: 398px;
}
.accessGaikan {
  margin-top: 5px;
}
.accessGaikanL {
  float: left;
  width: 197px;
}
.accessGaikanR {
  float: left;
  width: 197px;
  margin-left: 20px;
}
.accessGaikanL img,
.accessGaikanR img {
  display: block;
  width: 197px;
  height: 146px;
}
.accessBtn {
  display: block;
  width: 199px;
  margin: 10px 13px 0 auto;
}
.accessBtn.aB2 {
  width: 100%;
  margin-top: 0;
}
.aB2 .button a span {
  padding-left: 17px;
  background-image: url(/common/images/icon/button_arrow.svg);
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: 7px 11px;
  color: #343434;
  font-size: 90%;
  line-height: 1em;
  font-weight: bold;
}
.aB2 .button a span i {
  font-style: normal;
}

/* --- 近隣エリアからのアクセス --- */
.content-areas {
  margin-block: 20px 40px;
  background: #f7f7f7;
  padding: 20px;
  color: #4e4e4e;
}
.content-areas  h3 {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 125%;
}
.access-list div {
  display: flex;
  align-items: baseline;
}
.access-list dt {
  flex-shrink: 0;
  margin-right: 1em;
}


/*!!!!!! download !!!!!*/
.download {
  width: var(--basic-range);
  margin: 0 auto;
}
.downloadlist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 602px;
  margin-top: 50px;
  margin-left: 78px;
}
.downloadlist li {
  float: left;
  width: 230px;
  margin-right: 100px;
  margin-bottom: 50px;
  padding-left: 20px;
  background: url(/common/images/footerLinkBit.gif) no-repeat 0 50%;
  font-size: 114%;
  font-weight: bold;
}
.downloadlist li:nth-child(2n) {
  margin-right: 0;
}
.downloadlist li.spacer {
  background: none;
}
/*!!!!!!!! h2はイントラで使っているので残し !!!!!!*/
.download h2 {
  display: block;
  margin-top: 30px;
  font-size: 142.85714%;
  font-weight: bold;
}
.download h2 + .downloadlist {
  margin-top: 20px;
  width: 642px;
}
.download h2 + .downloadlist li {
  margin-bottom: 20px;
  width: 250px;
}
.download h2 + .downloadlist li.mt10 {
  margin-top: 10px;
}
/*!!!!!!!! h2はイントラで使っているので残し !!!!!!*/

.download h3 {
  display: block;
  margin-top: 30px;
  font-size: 142.85714%;
  font-weight: bold;
}
.download h3 + .downloadlist {
  margin-top: 20px;
  width: 642px;
}
.download h3 + .downloadlist li {
  margin-bottom: 20px;
  width: 250px;
}
.download h3 + .downloadlist li.mt10 {
  margin-top: 10px;
}
.downloadlist li a {
  display: block;
  color: #000;
  line-height: 30px;
}
#download_00 {
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0;
}
#download_01 {
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}
#download_02 {
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}
#download_03 {
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
}
#download_04 {
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4;
}
#download_05 {
  -webkit-order: 5;
  -ms-flex-order: 5;
  order: 5;
}
#download_06 {
  -webkit-order: 6;
  -ms-flex-order: 6;
  order: 6;
}
#download_07 {
  -webkit-order: 7;
  -ms-flex-order: 7;
  order: 7;
}
#download_08 {
  -webkit-order: 8;
  -ms-flex-order: 8;
  order: 8;
}
#download_09 {
  -webkit-order: 9;
  -ms-flex-order: 9;
  order: 9;
}
#download_10 {
  -webkit-order: 10;
  -ms-flex-order: 10;
  order: 10;
}
#download_11 {
  -webkit-order: 11;
  -ms-flex-order: 11;
  order: 11;
}
#download_12 {
  -webkit-order: 12;
  -ms-flex-order: 12;
  order: 12;
}
#download_13 {
  -webkit-order: 13;
  -ms-flex-order: 13;
  order: 13;
}
#download_14 {
  -webkit-order: 14;
  -ms-flex-order: 14;
  order: 14;
}
#download_15 {
  -webkit-order: 15;
  -ms-flex-order: 15;
  order: 15;
}

.downloadlist li a.icon_png {
  background: url(/common/images/icon/png.svg) no-repeat 100% 50%;
  background-size: 27px 30px;
}
.downloadlist li a.icon_pptx {
  background: url(/common/images/icon/pptx.svg) no-repeat 100% 50%;
  background-size: 27px 30px;
}
.downloadlist li a.icon_pdf {
  background: url(/common/images/icon/pdf.svg) no-repeat 100% 50%;
  background-size: 27px 30px;
}

/* floor pop up 201909 */
#cboxContent {
  border: 3px solid #e4e0e0;
  border-radius: 5px;
}
#cboxClose {
  display: block;
}
.closeSP {
  display: none;
}
@media screen and (max-width: 663px) {
  #cboxContent {
    border: none;
    border-radius: 0;
  }
  #cboxClose {
    display: none;
  }
  .closeSP {
    display: block;
    width: 100%;
    text-align: right;
  }
  .closeSP a {
    display: inline-block;
    margin: 0 0 0 auto;
    padding: 5px 20px;
    background: #808080;
    color: #fff;
    transition: all 0.3s;
  }
  .closeSP a:hover {
    background: #989898;
    text-decoration: none;
    transition: all 0.3s;
  }
}
.floorPopup {
}
.floorPop {
  width: calc(100% - 20px);
  margin: 0 auto;
}
.floorPop h1 {
  display: block;
  margin-top: 30px;
  font-size: 271.42857%;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 663px) {
  .floorPop h1 {
    margin-top: 0;
    font-size: 142.857142%;
  }
}

/* flipimg slider */
.flipimgPop {
  width: 100%;
  max-width: 800px;
  margin: -33px auto 0 auto;
}
.flipimgPopWrapper {
  width: 1200%;
  /* height: 240px; */
  overflow: hidden;
  margin: 0 auto;
  -webkit-transform: translateZ(0); /* Optional: When heavy at iOS6+ */
}
.flipimgPopWrapper .flipsnap {
  width: 1200%;
}
.flipimgPopWrapper .flipsnap .itemWrapper {
  float: left;
  display: table;
  /* height: 240px; */
  padding: 0;
  /* margin: 0 20px; */
  margin: 0;
}
.flipimgPopWrapper .flipsnap .itemWrapper .item {
  /* height: 240px; */
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  margin: 0;
  padding: 0 0 10px 0;
  /* line-height: 0.1em; */
}
.flipimgPopWrapper .flipsnap .itemWrapper .item img {
  width: 100%;
  max-width: 800px;
  height: auto;
}
.flipimgPop .pointer {
  text-align: center;
}
.flipimgPop .pointer span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 5px;
  background: #e4e0e0;
}

.flipimgPop .pointer span.current {
  background: #000;
}

.flipimgPop .controls {
  display: block;
  margin: 0;
  position: relative;
  z-index: 150;
  top: calc(300px + 25px);
}
@media screen and (max-width: 820px) {
  .flipimgPop .controls {
    top: calc(16px + 37.5vw);
  }
}
.flipimgPop .controls button {
  margin: 0;
  background: none;
  border: none;
  width: 20px;
  height: 33px;
}
.flipimgPop .controls button:hover {
  cursor: pointer;
}
.flipimgPop .controls button img {
  display: block;
  width: 100%;
}
.flipimgPop .controls button.prev {
  padding: 0;
  float: left;
  margin-left: 20px;
}
.flipimgPop .controls button.prev:before {
  content: "";
  display: none;
  width: 0.5em;
  height: 0.5em;
  border-top: none;
  border-right: none;
}
.flipimgPop .controls button.next {
  padding: 0;
  float: right;
  margin-right: 20px;
}
.flipimgPop .controls button.next span {
}
.flipimgPop .controls button.next:after {
  content: "";
  display: none;
  width: 0.5em;
  height: 0.5em;
  border-top: none;
  border-right: none;
}
.flipimgPop .controls button.prev[disabled],
.flipimgPop .controls button.next[disabled] {
  opacity: 0.3;
}
.flipimgPop .controls button.prev[disabled]:hover,
.flipimgPop .controls button.next[disabled]:hover {
  cursor: default;
}

/* price download link button 20170606 */
.priceButtonWrapper {
  /* width: 100%; */
  width: auto;
}
.priceButtonL {
  float: left;
  width: calc(100% - 550px);
}
/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.priceButtonL h2 {
  margin-top: 0;
}
.priceButtonL h2 span {
  font-size: 85%;
}
/*!!!!!! h2はイントラで使っているので残し !!!!!!*/
.priceButtonL h3 {
  margin-top: 0;
}
.priceButtonL h3 span {
  font-size: 85%;
}
.priceButtonR {
  float: right;
  width: 550px;
}
.priceButtonR .button {
  float: right;
  width: 269px;
  margin-left: 4px;
}

/* floor download link button 20170606 */
.floorButtonWrapper {
  width: 100%;
}
.floorButtonL {
  float: left;
  width: calc(100% - 300px);
}
.floorButtonL span.caption {
  color: #f00;
}
.floorButtonR {
  float: right;
  width: 420px;
  position: relative;
  z-index: 1;
}

/* footer Link 20190903 */
.footerUpperListWrapper201909 {
  width: var(--basic-range);
  margin: 80px auto 0 auto;
}
.footerUpperListWrapper201909_title {
  display: block;
  width: 100%;
  padding: 10px 0;
  color: #fff;
  background: #333;
  font-size: 143%;
  text-align: center;
}
.footerUpperListWrapper201909_legend {
  display: block;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 30px;
  padding: 10px 0;
  background: url(/common/images/footerUpper201909/legend_bg.gif) repeat 50% 50%;
}
.footerUpperListWrapper201909_legendInner {
  display: table;
  margin: 0 auto;
}
.footerUpperListWrapper201909_legendInner dt {
  display: table-cell;
  vertical-align: middle;
  width: 30px;
}
.footerUpperListWrapper201909_legendInner dt img {
  display: block;
  width: 30px;
  height: 30px;
}
.footerUpperListWrapper201909_legendInner dd {
  display: table-cell;
  vertical-align: middle;
  padding: 0 27px 0 10px;
  font-size: 85.7142857%;
  font-weight: bold;
}
.footerUpperListWrapper201909_legendInner dd:last-child {
  padding-right: 0;
}
.footerUpperListWrapper201909_areaTitle {
  display: block;
  width: 100%;
  margin-top: 12px;
  line-height: 1;
}
.area_pink {
  border-bottom: 2px solid #db6a7d;
}
.area_blue {
  border-bottom: 2px solid #004094;
}
.area_orange {
  border-bottom: 2px solid #f39800;
}
.area_yellow {
  border-bottom: 2px solid #cdbf00;
}
.area_sky {
  border-bottom: 2px solid #12b8d7;
}
.area_tora {
  border-bottom: 2px solid #033e8a;
}
@media screen and (max-width: 969px) {
  .area_tora_sp h2{
    background-color: #033e8a;
  }
  .area_tora_sp a{
    border: solid 1px #033e8a;
  }

  .triangle.area_tora_sp a {
    border: 1px solid #033e8a;
    background: url(/images/lineup/lineupBg_navy.png) no-repeat 100% 100%;
    background-size: 13px 13px;
}

  .liineupPhoto{
    overflow: hidden;
    width: 60px;
    padding: 3px;
    height: 67px;
  }
  .liineupPhoto img{
    object-fit: cover;
  }
}


.area_teal {
  border-bottom: 2px solid #00a189;
}
.footerUpperListWrapper201909_areaTitle span {
  display: inline-block;
  width: 15.05em;
  padding: 7px 15px 5px 10px;
  color: #fff;
  font-size: 85.7142857%;
  font-weight: bold;
  line-height: 1em;
}
.footerUpperListWrapper201909_areaTitle.area_pink span {
  background: #db6a7d url(/common/images/footerUpper201909/titleBg_pink.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909_areaTitle.area_blue span {
  background: #004094 url(/common/images/footerUpper201909/titleBg_blue.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909_areaTitle.area_orange span {
  background: #f39800 url(/common/images/footerUpper201909/titleBg_orange.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909_areaTitle.area_yellow span {
  background: #cdbf00 url(/common/images/footerUpper201909/titleBg_yellow.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909_areaTitle.area_sky span {
  background: #12b8d7 url(/common/images/footerUpper201909/titleBg_sky.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909_areaTitle.area_teal span {
  background: #00a189 url(/common/images/footerUpper201909/titleBg_teal.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909_areaTitle.area_tora span {
  background: #033e8a url(/common/images/footerUpper201909/titleBg_tora.png) no-repeat 100% 100%;
}
.footerUpperListWrapper201909Wrapper {
  display: block;
  margin-top: 10px;
}
.footerUpperListWrapper201909Wrapper + .footerUpperListWrapper201909Wrapper {
  margin-top: 15px;
}
.footerUpperListWrapper201909Wrapper li {
  float: left;
  width: 310px;
  margin-right: 20px;
}
.footerUpperListWrapper201909Wrapper li:last-child {
  margin-right: 0;
}
.footerUpperListWrapper201909Wrapper li a,
.footerUpperListWrapper201909Wrapper li a img {
  display: block;
  width: 310px;
  height: 115px;
}
.footerUpperListWrapper201909Wrapper li .footerUpperListWrapper201909_areaTitle + a {
  margin-top: 10px;
}
.footerUpperListWrapper201909Wrapper li a:hover img {
  opacity: 0.8;
}
.footerUpperListWrapper201909_col2 {
  float: left;
  width: 640px;
  margin-right: 20px;
}
.footerUpperListWrapper201909_col1 {
  float: left;
  width: 310px;
}

/* news 20171211 */
.news {
}
.news h2 {
  display: block;
  margin: 40px 0 5px 0;
  padding-left: 20px;
  background: url(/common/images/titleBg.gif) no-repeat 0 50%;
  line-height: 1em;
}
.news h2 em {
  margin-right: 0.5em;
  color: #333;
  font-size: 180%;
  line-height: 1em;
}
.newsContentWrapper {
  border-top: 1px solid #000;
}
.newsContentInner {
  display: block;
  height: 300px;
  margin-top: 20px;
  overflow-y: scroll;
}
.news dl {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dotted #ccc;
}
.news dl dt {
  color: #aaa;
}
.news dl dd {
}
.news dl dd span {
}
.news dl dd span:before {
  content: "【";
}
.news dl dd span:after {
  content: "】";
}
.news dl dd a {
  color: #0099ff;
}

/* faq 201803 */
.faqTitle {
  margin-top: 20px;
  color: #333;
  font-size: 114%;
  font-weight: bold;
}
.faqTitle:before {
  content: "■";
  color: #ccc;
  margin-right: 0.2em;
}
.faq {
  width: var(--basic-range);
  margin: 0 auto;
}
.faqWrapper {
  margin-top: 10px;
}
.faqWrapper dt,
.faqWrapper dd {
  display: table;
  width: calc(100% - 14px);
}
.faqWrapper dt span,
.faqWrapper dd span {
  display: table-cell;
  vertical-align: top;
}
.faqWrapper dt {
  padding: 8px 7px;
  background: #ebebeb;
}
.faqWrapper dd {
  padding: 10px 7px;
  border-bottom: 1px dotted #ccc;
}
.faqWrapper .faqIcon {
  width: 30px;
  height: 30px;
  padding-right: 10px;
}
.faqWrapper .faqIcon img {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0;
}
.faqWrapper dt .faqContents {
  padding-top: 3px;
  font-size: 114.28%;
}
.faqWrapper dd .faqContents {
  padding-top: 5px;
}
.faq_bank_cap {
  display: block;
  margin: 15px 0 0 60px;
}
.faq_bank {
  display: table;
  margin: 5px 0 0 120px;
}
.faqWrapper__in{
  display: flex;
}

.faqWrapper .faqWrapper__in .faqIcon{
  cursor: default;
  background: rgb(255, 255, 255);
  padding: 0px;
}

.faqWrapper .faqWrapper__in .faqWrapper__in-txt{
  width: calc(100% - 30px);
  padding-top: 5px;
  padding-left: 10px;
  box-sizing: border-box;
}

.ac_bk {
  display: table-cell;
  width: 6.5em;
}
.ac_div {
  display: table-cell;
  width: 9.5em;
  padding-right: 1em;
  text-align: right;
}
.ac_ty {
  display: table-cell;
  width: 3em;
}
.ac_no {
  display: table-cell;
  width: 7em;
}

/* space - sort */
.areaLargeUnit {
  font-style: normal;
}
.open_day{
  color: #f01;
  font-size: 142.85714%;
  margin-left: 1em;
}
@media (width < 969px) {
  .open_day{
    margin-left: 0;
  }
}
.sort-areas {
  margin: 0 0.3em;
  padding: 0 0.3em;
}
.sortTitle {
  display: table;
  width: auto;
  margin: 40px 0 0 0;
}
.sortTitle li {
  display: table-cell;
  vertical-align: middle;
}
.sortTitle li {
  width: 135px;
  padding: 0 5px;
}
.sortTitle li.sortTitleHeader {
  width: 85px;
  padding: 0;
}
.sortTitle li a,
.sortTitle li a img {
  display: block;
  width: 135px;
  height: 30px;
}
.sortTitle a:hover img {
  opacity: 0.8;
}
.sortTitleSP {
  display: none;
}
.hstyle {
  color: #fff;
  font-size: 71%;
}
.ventilation {
  display: inline-block;
  height: 23px;
  margin-left: 20px;
  vertical-align: bottom;
}
.ventilation img {
  display: block;
  width: 110px;
  height: 23px;
}
.ventilation + b {
  display: inline-block;
  margin-top: 5px;
  margin-left: 30px;
  color: #f00;
  font-size: 130%;
  line-height: 1em;
}

.point5 {
  width: 100%;
  margin-bottom: 20px;
  border-bottom: 2px solid #6eb42f;
  font-size: 200%;
  font-weight: bold;
  line-height: 1em;
}
.point5 i {
  color: #6eb42f;
  font-style: normal;
  font-size: 130%;
  line-height: 1em;
}

.btn_all2 {
  display: block;
  width: 350px;
  margin: 30px auto;
}
.btn_all2 .button a {
  padding-left: 0;
  text-align: center;
}
.btn_all2 i {
  font-style: normal;
}

/* sp top navigation 20200116 */
.sp_top_navigation {
  display: none;
}

/* ========== banner ========== */
/* houjin banner 20170608,20190810 */
.houjinbanner {
  display: block;
  width: var(--basic-range);
  height: 228px;
  margin: 20px auto 0 auto;
}
.houjinbanner a {
  display: block;
  width: var(--basic-range);
  height: 228px;
}
.houjinbanner a span.pc {
  display: block;
  width: var(--basic-range);
  height: 228px;
}
.houjinbanner a span.sp {
  display: none;
}
.houjinbanner a img {
  display: block;
  width: var(--basic-range);
  height: 228px;
}
.campaignBanner {
  display: block;
  width: var(--basic-range);
  margin: 20px auto;
}
.campaignBanner a {
  display: block;
  width: var(--basic-range);
}
.campaignBanner span.sp {
  display: none;
}
.campaignBanner a:hover img,
.houjinbanner a:hover img {
  opacity: 0.8;
}
/* 20200602 */
.bannerSet {
  display: block;
  width: var(--basic-range);
  margin: 30px auto 0 auto;
}
.bannerSet li {
  float: left;
  display: block;
  margin-bottom: 30px;
}
.bannerSet li:nth-child(2n) {
  margin-right: 0;
}
.bannerSet li:nth-child(3),
.bannerSet li:nth-child(4) {
  margin-bottom: 0;
}
.bannerSet li a,
.bannerSet li a span.pc,
.bannerSet li a span.pc img {
  display: block;
  width: 100%;
  height: auto;
}
.bannerSet li a span.sp {
  display: none;
}
.bannerSet li a:hover span.pc img {
  opacity: 0.8;
}

/* Vision Room banner 20190801 */
.visionroomBannerF_20190801 {
  display: block;
  width: var(--basic-range);
  height: 228px;
  margin: 30px auto 0 auto;
}
.visionroomBannerF_20190801 a,
.visionroomBannerF_20190801 a span.pc,
.visionroomBannerF_20190801 a span.pc img {
  display: block;
  width: var(--basic-range);
  height: 228px;
}
.visionroomBannerF_20190801 a span.sp {
  display: none;
}
.visionroomBannerF_20190801 a:hover img {
  opacity: 0.8;
}

/* sticky inquiry */
.side_stickyWrapper {
  display: block;
}
.side_sticky {
  display: block;
  width: 50px;
  height: 412px;
  background: #fff;
  position: fixed;
  right: 0;
  /* bottom: 400px; */
  top: 50px;
}
.side_sticky a,
.side_sticky a img {
  display: block;
  width: 50px;
  height: 412px;
}

/* floor theta 20200618 */
.theta_upper {
  display: block;
  width: var(--basic-range);
  height: 122px;
  margin: 30px auto 0 auto;
  background: url(/images/floor_360_bg.jpg) no-repeat 0 0;
}
.theta_upper_title {
  display: none;
}
.theta_upper ul {
  display: block;
  width: 650px;
  position: relative;
  top: 56px;
  left: 319px;
}
.theta_upper li {
  float: left;
  display: block;
  width: 105px;
  margin-right: 20px;
}
.theta_upper li a {
  display: block;
  width: 96px;
  padding: 11px 0 11px 9px;
  color: #343434;
  border: 1px solid #6db231;
  background: #fff;
  border-radius: 5px;
  font-size: 128.57142%;
  font-weight: bold;
  line-height: 1em;
}
.theta_upper li a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.theta_upper li a span {
  padding-left: 18px;
  background: url(/common/images/icon/button_arrow.svg) no-repeat 0 50%;
  background-size: 7px 11px;
  line-height: 1em;
}
.theta_floor {
  display: block;
  width: min(100%, 910px);
  margin: 0 auto;
  padding: 15px 30px 12px 30px;
  background: #ebebeb;
}
.theta_floor_half {
  display: block;
  width: 444px;
  margin: 0 auto;
  padding: 13px 13px 12px 13px;
  background: #ebebeb;
}
.theta_floor h3 {
  padding-bottom: 2px;
  border-bottom: 1px solid #585858;
  font-size: 142.85714%;
  font-weight: bold;
}
.theta_floor h3 img {
  display: inline-block;
  vertical-align: middle;
  width: 35px;
  height: 35px;
  margin-right: 10px;
}
.theta_floor p {
  margin: 10px 0;
}
.theta_floor ul {
  display: block;
}
.theta_floor ul li {
  float: left;
  display: block;
  width: calc((100% - 60px) / 4);
  margin-right: 20px;
  margin-bottom: 18px;
}
.theta_floor ul li.dcol {
  width: calc(((200% - 120px) / 4) + 20px);
}
.theta_floor ul li.tcol {
  width: calc(((300% - 180px) / 4) + 40px);
}
.theta_floor_half ul li {
  float: left;
  display: block;
  width: calc((100% - 20px) / 2);
  margin-right: 20px;
  margin-bottom: 18px;
}
.theta_floor ul li.qcol {
  width: 100%;
  margin-right: 0;
}
.theta_floor ul li.mr0 {
  margin-right: 0;
}
.theta_floor ul li a {
  display: block;
  width: calc(100% - 11px);
  padding: 8px 0 8px 11px;
  color: #343434;
  border: 1px solid #6db231;
  border-radius: 5px;
  background-color: #fff;
  background-image: url(/images/icon360.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 9px) 50%;
  background-size: 36px 36px;
  font-size: 128.57142%;
  font-weight: bold;
}
.theta_floor ul li a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.theta_floor ul li a span {
  padding-left: 18px;
  background: url(/common/images/icon/button_arrow.svg) no-repeat 0 50%;
  background-size: 7px 11px;
  line-height: 1em;
}

/*////////////////////////////////////
 2024.04.18　新規追加　凡例アイコン
 //////////////////////////////////*/

.legend_box {
  width: min(100%, var(--basic-range));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 70px;
  border: solid 2px #69a833;
  padding: 0 10px 10px;
  margin: 40px auto auto;
  box-sizing: border-box;
}
.legend_box_icon {
  width: 110px;
  font-size: 11px;
  text-align: center;
  font-weight: 600;
  line-height: 0;
}
.legend_box_icon p{
  line-height: 1.2;
}
.legend_box_icon img {
  width: 100%;
}
@media screen and (max-width: 969px) {
  .legend_box_icon {
    width: 110px;
    font-size: 10px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    line-height: 0;
  }
}
@media screen and (max-width: 670px) {
  .legend_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 10px;
    padding: 16px;
    margin: 40px auto auto;
    box-sizing: border-box;
  }
  .legend_box::before {
    content: "";
    display: block;
    width: 110px;
    height: 0;
    order: 1;
  }
  .legend_box::after {
    content: "";
    display: block;
    width: 110px;
    height: 0;
  }

  .legend_box_icon img {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 395px) {
  .legend_box_icon {
    width: 95px;
    text-align: center;
    letter-spacing: -1px;
  }
}

.legend_wrapper p:not(.legend_box_icon p){
	font-size: clamp(10px, 1vw, 12px);
	text-align: right;
	margin-top: 5px;
 }

/*////////////////////////////////////
 2024.04.30　新規追加　タイマー
 //////////////////////////////////*/

 .viewTimer{
  display: none!important;
}
 .viewTimerVisible{
  display: block!important;
}

.timer_inline .viewTimer{
  display: none!important;
}
.timer_inline .viewTimerVisible{
  display: inline-block!important;
}

.party_detail{
  display: flex;
  flex-direction: row-reverse;
  margin: 15px auto;
}
@media screen and (max-width: 969px) {
  .party_detail{
    display: block;
  }
}

/* 折り返し */
@media screen and (min-width: 768px) {
  .pc_nowrap {
      white-space: nowrap;
  }
}


 /*!!! 2024.05.29 トップに戻る ボタン//////////*/
 .page_scroll{
    opacity:0;
    height: 0;
 }

 .page_scroll.fixed{
   position: fixed;
   top: 25%;
   right: 10vw;
   transform: translate(-50%);
   animation-name:fadeInAnime;
   animation-duration:.5s;
   animation-fill-mode:forwards;
   opacity:0;
 }
 @media screen and (max-width: 1280px){
   .page_scroll.fixed{
     right: 5vw;
   }
 }
 @media screen and (max-width: 1020px){
   .page_scroll.fixed{
     right: 10px;
   }
 }
 @media screen and (max-width: 768px) {
   .page_scroll.fixed{
     top: auto;
     right: 10px;
     bottom: 83px;
   }
 }

 @media (width < 960px) {
  .page_scroll.fixed{
      display: none;
  }
 }

 .page_scroll a{
   width: 45px;
   height: 45px;
   color: #6eb42f;
   background: #fff;
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 16px;
   border-radius: 5px;
   border: solid 1px #6eb42f;
   transition: ease .3s;
 }
 .page_scroll a:hover{
   text-decoration: none;
   color: #fff;
   background: #6eb42f;
   transition: ease .3s;
 }

 @keyframes fadeInAnime{
   from {
     opacity: 0;
     transform: translatey(-10px);
   }

   to {
     opacity: 1;
     transform: translatey(0px);
   }
 }


 #party_plan{
  /* display: block;
  padding-top: 80px;
  margin-top: -80px; */
 }

/* Edge */
@supports (-ms-ime-align: auto){
  #party_plan{
    display: block;
    padding-top: 0px;
    margin-top: 0px;
   }
}

a.c_btn:hover{
  color: #f00;
}



 /*!!! 各センター 料金・フロアマップ サイドメニュー !!!!*/

 .side-nav{
  position: fixed;
  top: 320px;
  right: 0;
  transform: translateY(-50%);
  z-index: 100000;
  opacity: 0;
  transition: opacity 0.5s ease;
  transition: opacity 0.3s ease;
 }
@media (width < 1220px) {
  .side-nav{
    display: none;
  }
 }

.side-nav.active{
  animation: fadeIn 0.5s forwards;
  animation: fadeIn 0.3s forwards;
}


.side-nav__btn{
  li {
    transition: all .3s ease;
    border-bottom: solid 1px #fff;
    background-color: #6eb42f;
    /* border-radius: 10px 0 0 10px;
    overflow: hidden; */
    /* border: solid 1px #fff; */
    margin-bottom: 1px;
    position: relative;
    /* border-radius: 25px 0 0 25px; */

    a {
      /* background: linear-gradient(100deg, #78c235 30%, #92df4d 100%); */
      background-color: #6eb42f;
      color: #fff;
      text-decoration: none;
      text-align: left;
      width: 190px;
      letter-spacing: 1px;
      display: block;
      padding: 15px 10px 15px 25px;
      box-sizing: border-box;
      font-size: 14px;
      transition: all .3s ease;
      font-weight: bold;
      /* border-radius: 25px 0 0 25px; */
    }

    a:hover{
      /* transform: translateX(-10px); */
      transition: all .3s ease;
      background-color: #f0a200;
    }

    .fa-angle-left {
      position: absolute;
      /* left: 20px; */
      top: 19px;
      transition: all .3s ease;
      color: #fff;
      right: 20px;
    }
  }


  li:hover {
    transition: all .3s ease;
    background-color: #f0a200;
    margin-left: -10px;
  }

  li:hover a {
    background-color: #f0a200;
    color: #fff;
    transition: all .3s ease;
    margin-left: -10px;
  }
}
/** .side-nav__btn **/
@media (width < 1350px) {
.side-nav__btn{
  li {
      .fa-angle-left {
        right: 10px;
        top: 11px;
      }
      a{
        width: 140px;
        padding: 10px 5px 10px 10px;
        font-size: 12px;
      }
    }
  }
}

.floor-nav .side-nav__btn{
    li a {
      font-size: 15px;
    }
}


.side-nav__btn li.up:hover .fa-angle-left {
  transform: rotate(90deg) ;
  transition: all .3s ease;
}

.side-nav__btn li.down:hover .fa-angle-left {
  transform: rotate(-90deg);
  transition: all .3s ease;
}

.side-nav__btn li.down.side:hover .fa-angle-left {
  transform: rotate(0deg)!important;
  transition: all .3s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/*!!!!!!!!!!!!!! 貸し会議室ビジョンセンターの特徴 /*!!!!!!!!!!!!!!*/

.features {
	background: url(../images/top/bg_features.jpg) no-repeat 50% 100%;
	background-size: cover;
	position: relative;
	padding: 60px 10px 0;
	width: min(100%, 1530px);
	margin: 60px auto auto;
	box-sizing: border-box;

	h2{
		display: block;
		text-align: center;
		font-size: 171.42857%;
		line-height: 1em;
		position: relative;
		z-index: 2;
		color: #fff;
		margin-bottom: 100px;

		span{
			display: block;
			color: #6eb42f;
			text-transform: uppercase;
			}
		}
			@media (width < 640px)  {
			h2{
				margin-bottom: 80px;
			}
		}
}
	@media (width < 640px)  {
	.features {
		background: url(../images/top/bg_features.jpg) no-repeat 69% 100%;
		background-size: cover;
		padding: 60px 10px 60px;
	}
}
/** features */

.features__inner{
	width: min(100%, var(--basic-range));
	margin: auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 60px;
	color: #fff;
	position: relative;
	z-index: 2;
	font-size: .9em;
}
@media (width < 640px)  {
	.features__inner{
		gap: 0 20px;
	}
}



.features-box{
	width: 205px;
	margin-bottom: 120px;

	.f-icon01,.f-icon02,.f-icon03,
	.f-icon04,.f-icon05,f-icon04_sub{
		position: relative;
		color: #fff;
	}

	.f-icon01::before {
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		content: "\e533";
		font-size: 50px;
		position: absolute;
		transform: translate(-50%);
		left: 50%;
		top: -50px;
	}

	.f-icon02::before {
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		content: "\f4ce";
		font-size: 50px;
		position: absolute;
		transform: translate(-50%);
		left: 50%;
		top: -50px;
	}

	.f-icon03::before {
			font-family: "Font Awesome 6 Free";
			font-weight: 900;
			content: "\f1eb";
			font-size: 50px;
			position: absolute;
			transform: translate(-50%);
			left: 50%;
			top: -50px;
	}

	.f-icon04::before {
			font-family: "Font Awesome 6 Free";
			font-weight: 900;
			content: "\f4ff";
			font-size: 35px;
			position: absolute;
			transform: translate(-50%);
			left: 38%;
			top: -50px;
	}
  @media (width < 640px) {
  	.f-icon04::before {
      left: 31%;
    }
  }

	.f-icon04_sub::before {
			font-family: "Font Awesome 6 Free";
			font-weight: 900;
			content: "\e594";
			font-size: 35px;
			position: absolute;
			transform: translate(-50%);
			left: 63%;
			top: -50px;
	}
	/* 	@media (width < 640px)  {
		.f-icon04_sub::before {
			left: 75%;
			top: -50px;
		}
	} */

	.f-icon05::before {
		font-family: "Font Awesome 6 Free";
			font-weight: 900;
			content: "\f56d";
			font-size: 50px;
			position: absolute;
			transform: translate(-50%);
			left: 50%;
			top: -55px;
	}

	dt{
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
	}
			@media (width < 640px)  {
			dt{
				font-size: 14px;
			}
		}
	dd{
		/* letter-spacing: 1px; */
		line-height: 1.7;
	}
}
	@media (width < 640px)  {
	.features-box{
		margin-bottom: 100px;
	}
}
/*** features-box */

  .features-box:nth-last-of-type(2){
			margin-bottom: 80px;
		}

		.features-box:last-of-type{
			margin-bottom: 80px;
		}
	@media (width < 640px)  {
		.features-box{
			width: calc(50% - 20px);
		}

		.features-box:nth-last-of-type(2){
			margin-bottom: 100px;
		}

		.features-box:last-of-type{
			margin-bottom: 0;
		}
	}

.features::after {
    background: rgb(0, 0, 0, 0.4) url(../images/top/dot.png) repeat 50% 50%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
    z-index: 1;
}

/*** エリアマップタブ */
#area_map{
		.content_area {
			width: 100%;
			max-width: 1240px;
			margin: 0 auto;
			padding: 30px 20px;
		}

		.tab-container {
			display: flex;
			margin-left: 30px;
			margin-bottom: 10px;
			width: 50%;
		}

		@media (width < 969px) {
			.tab-container {
				width: 100%;
				margin-left: 0;
			}
		}

	.tab {
			font-weight: 500;
			text-align: center;
			width: calc(100% / 2);
			padding: 5px;
			color: #b9cad4;
			background-color: #f8f8f8;
			cursor: pointer;
		}

		.tab.active {
			color: #333;
			background-color: #b9cad4;
		}

		.content {
			display: none;
			/*必須*/
		}

		.content.show {
			display: block;
			/*必須*/
		}
	}
  /*** エリアマップタブ */


/*** フロアマップタブ */

.tab-menu {
    margin-top: 30px;

  .tab-menu__container {
      max-width: var(--basic-range);
      margin: 0 auto 60px;
      position: relative;
  }

  .floor_map_button {
    width: min(100%, var(--basic-range));
    height: 100%;
    position: absolute;
    top: 80px;
    left: 0;
  }

  .tab-menu__container:last-child {
      margin: auto;
  }
  .tab-menu__head {
      display: flex;
      border-radius: 30px;
      overflow: hidden;
      background: #eee;
  }
  .tab-menu__head li {
      flex: 1;
      font-weight: bold;
      padding: 10px 20px;
      background-color: #ebebeb;
      cursor: pointer;
      text-align: center;
  }
  @media (width < 969px) {
    .tab-menu__head li {
      font-size: 12px;
    }
  }
  .tab-menu__head li:last-child {
      border-right: none;
  }
  .tab-menu__head li.is-active {
      color: #fff;
      background: #333;
      border-radius: 30px;
  }

  .tab-menu__head li:hover {
    opacity: .8;
  }
  .tab-menu__main {
    margin-top: 40px;
  }
  @media (width < 969px) {
    .tab-menu__main {
      margin-top: 30px;
    }
  }
  .tab-menu__main li {
      display: none;
      line-height: 1.6;
      text-align: center;
  }
  .tab-menu__main li.is-active {
      display: block;
  }

}
/*!! .tab-menu */
/*** フロアマップタブ */


/*** フロアマップタブ内 室内写真 */

.floor_map_button div{
  display: inline-block;
  width: auto;
  height: 36px;
}

.floor_map_button div a{
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 1px;
  text-align: center;
  width: 100%;
  height: 100%;
  padding-inline: 3px;
  position: relative;
  background: #717071;
  border-radius: 8px;
  transition: ease .3s;
  opacity: .75;
  display: block;
  }

  .floor_map_button div.no_link{
    color: #fff;
    text-decoration: none;
    letter-spacing: 1px;
    text-align: center;
    padding-inline: 5px;
    position: relative;
    background: #717071;
    border-radius: 8px;
    transition: ease .3s;
    opacity: 1;
    display: flex;
    font-size: 14px;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    opacity: .75;
    }

.floor_map_button div a:hover{
  transition: ease .3s;
  opacity: 1;
}

.fa_icon::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    margin-right: 2px;
}

/*** フロアマップタブ内 室内写真 */

/*** 緊急速報 */
.emergency{
	width: min(100%, var(--basic-range));
  margin: 10px auto;
	text-align: center;

	a.txt-link{
		color: #f01;
		text-decoration: underline;
		letter-spacing: 1px;
		transition: all .3s;
		text-align: center;
    font-size: 16px;
	}

	a.txt-link:hover{
		text-decoration: none;
		transition: all .3s;
	}
}

.emergency.txt-left{
  text-align: left;
  margin: -20px auto 0;
}
@media (width < 969px) {
.emergency.txt-left{
    margin: 0 auto;
  }
}
@media (width < 969px) {
  .emergency{
    display: none;
  }
}

/*** 緊急速報 */

/*!!!!!!! スマホグーグルマップアイコン !!!!!!!!*/

		@keyframes slideInFromRight {
			0% {
				transform: translateX(100%) translateY(-50%);
				opacity: 0;
			}
			100% {
				transform: translateX(0) translateY(-50%);
				opacity: 1;
			}
		}

@media (821px <= width) {
  #google-map__horizontal {
    display: none;
  }
}

  #google-map__horizontal {
			background-color: #fff;
			width: 180px;
			position: fixed;
			top: calc(100% - 74px);
			z-index: 10;
			right: 17px;
			box-sizing: border-box;
			text-align: center;
			box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.2), 0 2px 4px -2px rgb(0 0 0 / 0.2);
			animation: slideInFromRight 1.2s ease-in-out forwards;
		}

		#google-map__horizontal a {
			text-decoration: none;
      position: relative;
      z-index: 2;
      width: 100%;
      height: 100%;
      display: block;
		}
		#google-map__horizontal img {
			width: 200px;
			vertical-align: top;
		}



		.close-btn__horizontal {
      position: absolute;
      top: -13px;
      right: -5px;
      width: 23px;
      height: 23px;
      background-color: #333;
      color: #fff;
      border: none;
      border-radius: 50%;
      font-size: 16px;
      line-height: 23px;
      text-align: center;
      cursor: pointer;
      padding: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 15;
		}



/*!!!!!!! スマホグーグルマップアイコン !!!!!!!!*/

/*!!!!!!! 夏の懇親会キャンペーン 懇親会室料が50%OFF! !!!!!!!!*/

.bnner_top {
  width: min(calc(100% - 20px), var(--basic-range));
  margin: 20px auto auto;
  transition: all .3s;

  img {
    display: block;
  }
}

.bnner_top:hover {
  transition: all .3s;
  opacity: .8;
}

.bnner_party50{
  margin-top: 15px;
  transition: all .3s;
}

.bnner_party50:hover{
  transition: all .3s;

  a{
    text-decoration: none;
  }
}

/*** ケータリング */
h4.campaign__lead{
    color: #fff;
    background-color: #a49238;
    padding: 10px;
    font-weight: 600;
    text-align: center;
    font-size: 18px;
    line-height: 1.2;
    width: auto;

    em{
    font-weight: 600;
    }
}
@media (width < 969px) {
 h4 .campaign__lead{
      padding: 10px 0;
  }
}

.campaign__50off{
   background: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), url(../images/common/party/bg_50off.jpg) no-repeat;
  background-size: cover;
  background-size: cover;
  background-position-y: -20px;
  border: solid 4px #a49238;
  border-top: none;
}
@media (width < 969px) {
  .campaign__50off{
    background-position-y: 0;
  }
}

.campaign-content__inner{
    padding-block: 5px 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: left;
    font-weight: 600;

    p{
      font-size: 18px;
    }
}
@media (width < 767px) {
  .campaign-content__inner{
    padding-block: 5px 15px;

    p{
      font-size: 16px;
    }
  }
}

.campaign-content__img{
    width: min(95%, 700px);
    margin: 5px auto 0;
    display: block;
}
@media (width < 969px) {
  .campaign-content__img{
    margin: 10px auto 0;
  }
}

.campaign-content__box{
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin: 15px auto auto;
}
@media (width < 969px) {
  .campaign-content__box{
      margin: 10px auto auto;
      flex-wrap: wrap;
      justify-content: center;
  }
}

.campaign-content__em{
    font-size: 14px;
    font-weight: 400;
    color: #333;
    padding: 10px 15px;
    background-color: rgba(255, 255, 255, 0.5);
    width: auto;
    display: inline-block;
    border: solid 2px #a49238;
    border-radius: 10px;
    box-sizing: border-box;

  li{
    text-indent: -1em;
    padding-left: 1em;
  }
}
@media (width < 767px) {
  .campaign-content__em{
    font-size: 14px;
    width: calc(100% - 20px);
    padding: 4px 10px 5px;
  }
}


a.campaign-content__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  /* background: #fff; */
  background-color: rgba(255, 255, 255, 0.5);
  border: 2px solid #e50012;
  box-sizing: border-box;
  width: 160px;
  height: auto;
  padding: 0 25px;
  color: #e50012;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  border-radius: 10px;
  box-sizing: border-box;
}
@media (width < 767px) {
  a.campaign-content__btn {
    width: calc(100% - 20px);
    height: 50px;
  }
}

@media (var(--basic-range) <= width) {
  a.campaign-content__btn:hover {
    background: #e50012;
    border: 2px solid #e50012;
    color: #fff;
  }
}

a.campaign-content__btn:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 50px;
  border-color: transparent transparent #e50012 transparent;
  border-radius: 0 0 7px 0;
}
a.campaign-content__btn span {
    position: absolute;
    bottom: 12px;
    right: 20px;
    display: inline-block;
}
a.campaign-content__btn span:before {
    content: '';
    width: 16px;
    height: 16px;
    background:#ffffff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -8px;
}
a.campaign-content__btn span:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #e50012;
    border-right: 2px solid #e50012;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 3px;
    margin-top: -4px;
}
/*!!!!!!! 夏の懇親会キャンペーン 懇親会室料が50%OFF! !!!!!!!!*/