/*
Theme Name: SUYARA
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&family=Zen+Kaku+Gothic+New:wght@400;700&family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,100,0,0");

/* ------------------------------------------------------------
 * Base
 * ------------------------------------------------------------ */

html{
	font-size:14px;

}

body{
	font-family: "Zen Kaku Gothic New", sans-serif;
	line-height:1.6;
	margin:0;
	background-color:#f6f4ec;
    transition: background-color .65s ease;
	display:flex;
	flex-direction:column;
	min-height:100vh;
}

body.is-active {
  height: 100%;
  overflow: hidden;
}

p{
	margin:0;
	padding:0;
}

img{
	max-width:100%;
}

*:focus,
*:active {
  outline: none !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------
 * Common
 * ------------------------------------------------------------ */

br.sp{
	display:none;
}

br.pc{
	display:inline;
}

@media screen and (max-width: 768px) {
	br.sp{
		display:inline;
	}
	br.pc{
		display:none;
	}
}

/* ------------------------------------------------------------
 * Inview
 * ------------------------------------------------------------ */

.inview{
	opacity:0;
	transition:all 0.7s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0.25s;
}

.inview.is-show{
	opacity:1;
}


.inview.fade-up{
	transform:translate(0, 3.5rem);
}

.inview.is-show.fade-up{
	transform:translate(0, 0rem);
}

/* ------------------------------------------------------------
 * Header
 * ------------------------------------------------------------ */

header{
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:1;
	background-color:#357e7b;
}


body.home header{
	background-color:transparent;
}

/*
body.home.scrolled header{
	background: linear-gradient(to bottom, rgba(246,244,236,0.15) 0%, rgba(246,244,236,0) 100%);
}*/

body.home header.white ul#menu-global > li > a{
	color:#fff;
	border-color:#fff;
}

body.home header.white .header__logo svg#header__logo .cls-1{
	fill:#fff;
}

body.bounce header{
	background-color:#37547e;
}

.header__container{
	padding: 1.0rem 2.25rem;
	display:flex;
	justify-content:space-between;
	align-items:center;
/*	width:1200px;*/
	max-width:100%;
	margin:0 auto;
}

.header__logo{
	position:relative;
	z-index:9999;
	width:236px;
}

.header__logo span{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.header__logo{
		width:160px;
	}
}

.header__logo img{
	width:100%;
	height:auto;
	transition:all 0.45s ease;
	transform-origin:0% 50%;
}

body.scrolled .header__logo img{
	transform:scale(0.75);
}

main{
position:relative;
z-index:0;
padding:0rem 0 0 0;
width:100%;
overflow-x:clip;
}

main.narrow{
	width:800px;
	max-width:100%;
margin-right:auto;
margin-left:auto;
padding-top:9rem;
padding-right:1rem;
padding-left:1rem;
}

main.container{
width:1200px;
max-width:100%;
padding-top:9rem;
padding-right:1rem;
padding-left:1rem;
margin-right:auto;
margin-left:auto;
}

main section .container{
	padding-right:1rem;
	padding-left:1rem;
}



/* ------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------ */

footer{
	background-color:#357e7b;
	color:#eaece2;
	padding:2.25rem;
	margin-top:auto;
}


body.dots footer{
	color:#357e7b;
	background-color:#eaece2;
}

body.bounce footer{
	color:#37547e;
	background-color:#f0ece0;
}


.footer__container{
	display:flex;
	flex-direction:row;
	align-items:center;
	flex-wrap:nowrap;
}

.footer__container .footer__item{
	width:50%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%;
}

.footer__container .footer__item:nth-chile(1){
	align-items:flex-start;
}

.footer__container .footer__item:nth-chile(2){
	align-items:flex-end;
}

.footer__logo{
	width:200px;
	margin:0 0 0.75rem;
}

.footer__nav-menu{
	display:flex;
	margin:0;
	padding:0;
	gap:1rem;
}

.footer__nav-menu li a{
	font-family: "Montserrat", sans-serif;
	letter-spacing:0.075em;
	font-size:0.85rem;
}

.footer__nav-menu.right{
	display:none;
}

.footer__copy{
	font-family: "Montserrat", sans-serif;
	padding:0.75rem 0;
	letter-spacing:0.05em;
	text-align:right;
	letter-spacing:0.075em;
	font-size:0.85rem;
}

.footer__nav-icon{
	display:flex;
	margin:0;
	padding:0;
	gap:1rem;
	justify-content:flex-end;
}

.footer__nav-icon li a{
	border:1px solid #eaece2;
	border-radius:100vh;
	width:31px;
	height:31px;
	display:flex;
	justify-content:center;
	align-items:center;
}

body.dots .footer__nav-icon li a{
	border-color:#357e7b;
}

body.bounce .footer__nav-icon li a{
	border-color:#37547e;
}


.footer__nav-icon li a img{
	width:15px;
	height:15px;
}




@media screen and (max-width: 768px) {
	.footer__logo{
		width:160px;
	}
	.footer__nav-menu{
		flex-direction:column;
		align-items:flex-end;
	}
	.footer__nav-menu.right{
		display:flex;
		gap:0;
		margin:0 0 0.75rem;
	}
	.footer__nav-menu.left{
		display:none;
	}


}

/* ------------------------------------------------------------
 * Inview
 * ------------------------------------------------------------ */

.inview{
	transition:all 0.6s ease-in-out;
	display:block;
}

.inview.delay50{
	transition-delay:0.05s
}

.inview.delay100{
	transition-delay:0.1s
}

.inview.delay150{
	transition-delay:0.15s
}

.inview.delay200{
	transition-delay:0.2s
}

.inview.delay250{
	transition-delay:0.25s
}

.inview.delay300{
	transition-delay:0.3s
}

.inview.delay350{
	transition-delay:0.35s
}

.inview.delay400{
	transition-delay:0.4s
}

.inview.delay450{
	transition-delay:0.45s
}
.inview.delay500{
	transition-delay:0.5s
}



.inview.fadeUp{
	transform:translate(0, 1.5rem);
	opacity:0;
}

.inview.fadeUp.is-show{
	transform:translate(0, 0rem);
	opacity:1;
}

.inview.rotate{
	transform-origin:0% 0%;
	transform:rotate(90deg);
	opacity:0;
}

.inview.rotate.is-show{
	transform:rotate(0);
	opacity:1;
}

.inview.fadeLeft{
	transform:translate(1.5rem, 0rem);
	opacity:0;
}

.inview.fadeLeft.is-show{
	transform:translate(0, 0rem);
	opacity:1;
}

.inview.blur{
	filter:blur(30px);
	opacity:0;
}

.inview.blur.is-show{
	filter:blur(0);
	opacity:1;
}

.inview.zoomOut{
	transform:scale(1.25);
	opacity:0;
}

.inview.zoomOut.is-show{
	transform:scale(1);
	opacity:1;
}


/* ------------------------------------------------------------
 * Navigation
 * ------------------------------------------------------------ */
@media screen and (min-width: 991px) {
	.hamburger{
		display:none;
	}
}



.builder-header-html-item.item--html{
	display:flex;
	align-items:center;
}

#hamburger{
	height:46px;
	width:46px;
	cursor:pointer;
	position:relative;
	z-index:9999999;
	transition:all 0.3s ease;
	opacity:1;
	background-color:transparent;
	border-radius:100vh;
}



#hamburger span{
	position:absolute;
	display:inline-block;
	width:20px;
	height:1px;
	background-color:#fff;
	top:0;
	left:11px;
}

body.home #hamburger span{
	background-color:#357e7b;
}

#hamburger .hamburger__inner{
animation-name: rotateInfinite;
animation-fill-mode:backwards;
animation-duration:9s;
animation-iteration-count:infinite;
animation-timing-function:linear;
animation-delay: 0s;
animation-direction:normal;
}

@keyframes rotateInfinite{
  0% {
    transform:rotate(0);
  }

  100% {
    transform:rotate(360deg);
  }
}

#hamburger:not(.is-active) span{
	transition:left 0.3s ease 0.8s, opacity 0.3s ease 0.8s, top 0.3s ease 0.6s, transform 0.3s ease, background-color 0.3s ease 0.4s;
}
#hamburger.is-active span{
	transition:left 0.3s ease, opacity 0.3s ease, top 0.3s ease 0.15s, transform 0.3s ease 0.6s, background-color 0.3s ease 0.4s;
}

#hamburger span:nth-child(1){
	top:38%;
}

#hamburger span:nth-child(2){
	top:62%;
}

#hamburger.is-active span:nth-child(1){
	top:50%;
	transform:rotate(45deg);
}

#hamburger.is-active span:nth-child(2){
	top:50%;
	transform:rotate(-45deg);
}


nav#drawer{
	position:fixed;
	opacity:0;
	pointer-events:none;
	top:0;
	left:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	z-index:999;
	width:100vw;
	height:100vh;
	background-color:rgba(234, 236, 236,0.9);
	color:rgba(239, 25, 99,1);
	transform:scale(1.05);
	transition: all 0.25s ease 0.1s;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding-top:5.5rem;
}

nav#drawer.is-active{
	transform:scale(1);
	opacity:1;
	pointer-events:auto;
	transition: all 0.4s ease 0.4s;
}

nav#drawer a{
	color:#357e7b;
	text-decoration:none;
	font-family: "Montserrat", sans-serif;
	font-weight:500;
	font-size:1.5rem;
	letter-spacing:0.035em;
	text-transform:uppercase;
	transition:all 0.3s ease;
}

nav#drawer a:hover{
	opacity:0.6;
}

nav#drawer ul {
	list-style:none;
	margin:0 0 1.75rem;
	padding:0;
}

nav#drawer ul li{
	padding:0.3em 0;
	display:block;
	text-align:center;
}

nav#drawer ul li a{
	letter-spacing:0.05em;
}

ul#menu-global li{
	margin:0 0 0.25rem;
}

ul#menu-global li a{
	position:relative;
	line-height:1.3;
	transition:all 0.4s ease;
}

ul#menu-global li.external{
	position:relative;
}

ul#menu-global li.external:after{
  position: absolute;
  content: '';
  top: 0.25rem;
  right: -1.5rem;
	font-size:1.25rem;
  transition: all .3s ease-in-out;
    content: "\e89e";
    font-family: 'Material Symbols Outlined';
	transform:translatey(0%);

}

ul#menu-global li a:after{
	content:""attr(title)"";
	display:block;
	font-size:0.7rem;
	font-weight:normal;
	font-family:sans-serif;
}

ul.drawer__nav-sns {
	display:flex;
	justify-content:center;
}

ul.drawer__nav-sns li{
	margin:0 0.5rem;
	transition:all 0.3s ease;
	opacity:1;
}

ul.drawer__nav-sns li:hover{
	opacity:0.5;
}
ul.drawer__nav-sns li img {
	width:24px;
	height:24px;
	display:inline-block;
}






.header__nav ul{
display:flex;
}

.header__nav ul li{
	margin:0 0.75rem!important;
}

.header__nav ul li a{
	display:block;
	padding:0.25rem 0.75rem;
	font-family:Montserrat, sans-serif;
	letter-spacing:0.1em;
	color:#fff;
	font-weight:500;
}

.header__logo svg#header__logo .cls-1{
	fill:#fff;
	transition:all 0.5s ease;
}
body.home .header__nav{
	opacity:0;
	pointer-events:none;
	transition:all 0.5s ease;
}


.header__nav ul li.online a{
	border:1px solid #fff;
	border-radius:100vh;
}


body.home .header__logo svg#header__logo .cls-1{
	fill:#357e7b;
}


body.home .header__logo svg#header__logo .cls-1{
	fill:transparent;

}

body.home.scrolled .header__logo svg#header__logo .cls-1{
	fill:#357e7b;
	pointer-events:auto;
}

body.home.scrolled .header__nav{
	opacity:1;
	pointer-events:auto;
}

body.home .header__logo svg#header__logo a{
	pointer-events:none;
}

body.home.scrolled .header__logo svg#header__logo a{
	pointer-events:auto;
}


body.home .header__nav ul li a{
	color:#357e7b;
}


body.home .header__nav ul li.online a{
	border:1px solid #357e7b;
}


@media screen and (max-width: 992px) {
	.header__nav{
		display:none;
	}

}


/* ------------------------------------------------------------
 * Global navigation
 * ------------------------------------------------------------ */


/* ベース */
#menu-global.menu {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* トップレベル */
#menu-global > li {
  position: relative; /* サブメニューの基準 */
}

#menu-global > li > a {
  display: block;
  padding: .8rem 1rem;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}

#menu-global .sub-menu {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 14rem;
  margin: 0;
  padding: .4rem 0;
  list-style: none;
  background: #f6f4ec;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  z-index: 1000;
	display:flex;
	flex-direction:column;


  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

/* 表示トリガー（ホバー・フォーカス） */
#menu-global > li:hover > .sub-menu,
#menu-global > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* サブメニューの各項目 */
#menu-global .sub-menu > li > a {
  display: block;
  padding: .6rem 1rem;
  text-decoration: none;
  white-space: nowrap;
color:#357e7b;
}

#menu-global .sub-menu > li.menu-item-339 > a{
color:#357e7b;
}

#menu-global .sub-menu > li.menu-item-342 > a{
color:#37547e;
}



/* ホバー状態の見た目 */
#menu-global > li > a:hover,
#menu-global .sub-menu > li > a:hover {
	opacity:0.7;
}

/* 入れ子の第2階層以降（必要なら） */
#menu-global .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  transform: translateX(6px);
  /* 初期は非表示（親がhover/focusで見えるようにする） */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
#menu-global .sub-menu > li:hover > .sub-menu,
#menu-global .sub-menu > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

/* アクセシビリティ（キーボードフォーカス見える化） */
#menu-global a:focus {
  outline: 2px solid #8ab4ff;
  outline-offset: 2px;
}

/* モーション控えめ設定に追従 */
@media (prefers-reduced-motion: reduce) {
  #menu-global .sub-menu,
  #menu-global .sub-menu .sub-menu {
    transition: none;
  }
}

/* 親メニューに子がある印（お好みで） */
#menu-global .menu-item-has-children > a::after {
  content: "▾";
  font-size: .8em;
  margin-left: .4em;
  opacity: .7;
position:absolute;
	top:50%;
	right:0;
	transform:translate(0, -50%);
}



/* ------------------------------------------------------------
 * Global Navigation (SP)
 * ------------------------------------------------------------ */
#menu-global-1{
  list-style:none;
  margin:0;
  padding:0;
}
#menu-global-1 > li{
}
#menu-global-1 > li > a{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:1rem;
  color:#357e7b;
  text-decoration:none;
}

/* ▼矢印 */
#menu-global-1 .menu-item-has-children > a::after{
  content:"▾";
  font-size:.9rem;
  opacity:.7;
  transition:transform .2s ease;
	margin-left:1rem;
}
#menu-global-1 li.is-open > a::after{
  transform:rotate(180deg);
}

/* サブメニュー：初期は非表示 */
#menu-global-1 .sub-menu{
  list-style:none;
  margin:0;
  padding:0 .5rem .5rem;
  display:none;               /* ← JSでslideToggle */
}
#menu-global-1 .sub-menu li{
	text-align:center;
}
#menu-global-1 .sub-menu li a{
  display:block;
  padding:.75rem 1rem;
  text-decoration:none;
  color:#357e7b;
	text-align:center;
	text-transform:initial;
}

#menu-global-1 li.online a{
	border:1px solid #357e7b;
	border-radius:100vh;
	padding-right:2rem;
	padding-left:2rem;
}

/* ------------------------------------------------------------
 * Loader
 * ------------------------------------------------------------ */

.loader{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	overflow:hidden;
	z-index:999;
	transition:all 0.4s ease 0.75s;
}

.loader.loaded{
	pointer-events:none;
	opacity:0;
	transform:scale(1.1);
}

.loader .inner{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:rgba(250, 207, 226,1);
	transition:all 0.3s ease;
}

.loader__image{
	width:120px;
	animation: loaderIn 0.3s forwards ease-in-out 1 0.1s;
	opacity:0;
	transform:scale(1.1);

}

@keyframes loaderIn {
	0% {
		opacity:0;
		transform:scale(1.1);
	}
	100% {
		opacity:1;
		transform:scale(1);
	}
}

.loader.loaded .inner{


}


/* ------------------------------------------------------------
 * Home Accordion
 * ------------------------------------------------------------ */
.accordion {
  padding: .75rem 0;
}

.accordion__title {
  margin: 0 0 .5rem;
  color: #357e7b;
}

.accordion__toggle {
  display: block;
	width:12rem;
	text-align:center;
  margin: .25rem auto 1.5rem auto;
  padding: .5rem 1rem;
  color: #357e7b;
  cursor: pointer;
	font-size:1.5rem;
	letter-spacing:0.1em;
font-family: "Crimson Text", serif;
	position:relative;
}

.accordion__toggle:before{
	position:absolute;
	content:'';
	width:2rem;
	height:1px;
	background-color:#357e7b;
	display:block;
	top:121%;
	transform-origin:50% 100%;
	transform:rotate(20deg) translate(-100%, -100%);
	left:50%;
}

.accordion__toggle:after{
	position:absolute;
	content:'';
	width:2rem;
	height:1px;
	background-color:#357e7b;
	display:block;
	top:100%;
	transform-origin:50% 0%;
	left:50%;
	transform:rotate(-20deg) translate(0%, 0);
}



.accordion__toggle[aria-expanded="true"] {

  color: #357e7b;
}

.accordion__content {
  display: none;
  padding: .5rem 0;
}

/* ------------------------------------------------------------
 * Home common
 * ------------------------------------------------------------ */
section.home{
	min-height:100vh;
}

section.home .section__container{
	width:1200px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
	padding-right:1.5rem;
	padding-left:1.5rem;
}

section.home h2{
	font-family: "Crimson Text", serif;
	text-transform:uppercase;
	letter-spacing:0.15em;
	text-align:left;
	position:relative;
	color:#357e7b;
	font-size:2.15rem;
	font-weight:600;
	margin:0 0 2.5rem;
}

section.home h2:before{
	content:'';
	height:2px;
	width:100vw;
	background-color:#357e7b;
	position:absolute;
	display:block;
	left:calc(-100vw - 1.25rem);
	top:1.5rem;

}

section.home.line-up h2{
	color:#eaece2;
}

section.home.line-up h2:before{
	background-color:#eaece2;
}

@media screen and (orientation: portrait) {
section.home h2{
	left:10vw;
	}

}
/* ------------------------------------------------------------
 * Home Hero
 * ------------------------------------------------------------ */

section.home#hero{
	height:100vh;
	padding:0;
	overflow:clip;
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
}

/*
section.home#hero .hero {
  position: relative;
  width: 100vw;
	height:100%;
  overflow: hidden;
}

section.home#hero .hero > * {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


section.home#hero .hero__video {
  display: none;
}
section.home#hero .hero__image {
  display: block;
}

section.home#hero .hero__image > *{
	height:100vh;
	width:auto;
	max-width:auto;
	object-fit:cover;
}


@media (min-width: 768px) {
  section.home#hero .hero__video {
    display: block;
  }
  section.home#hero .hero__image {
    display: none;
  }
}


*/




section.home#hero .home__hero-image {
	height:100%;
	display:block;
}

.home__hero-image img,
.home__hero-image source{
/*	width:100%;
	height:auto;*/
	min-height:100%;
	min-width:100%;
	object-fit:cover;
}

.hero__copy{
	position:absolute;
	width:512px;
	height:auto;
}



@media screen and (orientation: portrait) {
	.home__hero-image img,
	.home__hero-image source{
/*		width:auto;
		height:100%;*/
		min-width:100%;
		min-height:100%;
	}

	.hero__copy{
		width:256px;
		margin-top:50vh;
	}

}







.hero {
  position: relative;
  width: 100%;
  height: 100vh; /* 任意の高さ */
  overflow: hidden;
}

.hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* デフォルトはSP用を表示、PC用を非表示 */
.hero__video--pc { display: none; }
.hero__video--sp { display: block; }

/* PC幅になったら切り替え */
@media screen and (min-width: 769px) {
  .hero__video--pc { display: block; }
  .hero__video--sp { display: none; }
}


/* ------------------------------------------------------------
 * Home Concept
 * ------------------------------------------------------------ */


section.home#concept{
	display:flex;
	flex-direction:column;
	position:relative;
	padding:4.5rem 0;
	min-height:auto!important;
}



section.home#concept .flex__container{
	display:flex;
	flex-direction:column;
}

section.home#concept .section__description {
	display:flex;
	flex-direction:column;
	justify-content:center;
}

section.home#concept .section__description p{
	margin:0 0 2.25rem;
	color:#595757;
	font-size:1.25rem;
	line-height:2.0;
}

section.home#concept .concept__content-top{
	display:flex;
}

section.home#concept .section__copy{
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:3.75rem;
	letter-spacing:0.25em;
	font-weight:500;
	color:#357e7b;
	writing-mode: vertical-rl;
	width:40%;
	text-align:center;
	display:flex;
	align-items:center;
	line-height:2.5em;
	text-indent: -2em;
  padding-left: 0em;
}

#svgPath{
	width:100%;
	height:auto;
}
section.home#concept .concept__content-top .section__image{
	width:60%;
}
section.home#concept .concept__content-top .section__image img{
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
	transform:translate(-10vw, 0);
}

section.home#concept .concept__content-top .section__image.sp img{
  -webkit-clip-path: url(#svgPathSp);
  clip-path: url(#svgPathSp);
}

	section.home#concept .concept__content-top .section__image.pc{
		display:block;
	}
	section.home#concept .concept__content-top .section__image.sp{
		display:none;
	}

section.home#concept .concept__image-01{
	max-width:55vw;
}

section.home#concept .concept__content-bottom{
	width: calc(50vw + 50%);
	margin-right:calc(-50vw + 50%);
	margin-left:0;
	margin-bottom:3.5rem;
	display:flex;
}

section.home#concept .concept__image-02{
	max-width:25vw;
	margin-left:auto;
}

@media screen and (max-width: 768px) {
	section.home#concept .concept__content-top .section__image.pc{
		display:none;
	}
	section.home#concept .concept__content-top .section__image.sp{
		display:block;
	}
	section.home#concept .section__copy{
	line-height:1.5;
		font-size:2.5rem;
		padding-left:2em;
	}
	.concept__image-02{
		display:none;
	}
	section.home#concept .concept__image-01{
		max-width:75vw;
		width:75vw;
		padding-top:10vh;
	}
}
/* ------------------------------------------------------------
 * Home divider
 * ------------------------------------------------------------ */

section.home#divider{
	height:12rem;
	min-height:auto!important;
	overflow:clip;
}

section.home#divider img{
	object-fit:cover;
}

/* ------------------------------------------------------------
 * Home News
 * ------------------------------------------------------------ */

section.home#news {
	padding:4.5rem 0;
	min-height:60vh;
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:auto;
}

section.home#news .news__container{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}

section.home#news .news__item{
	margin:0 0 0.75rem;
}

section.home#news .news__item-date{
	color:#357e7b;
	display:inline-block;
	margin:0 0.75rem 0 0;
	font-size:1.32rem;
}


section.home#news .news__item-cat{
	color:#357e7b;
	border:1px solid #357e7b;
	border-radius:0.15rem;
	padding:0.45rem;
	text-align:center;
	width:7rem;
	display:inline-block;
	margin:0 0.75rem 0 0;
	line-height:1;
}

section.home#news .news__item-title{
	font-size:1.32rem;
}



section.home#news .news__button{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:2.5rem 0;
}


section.home#news .news__button a{
	border:1px solid #357e7b;
	background-color:transparent;
	border-radius:100vh;
	padding:1.25rem 3.5rem 1.25rem 2rem;
	font-family: "Crimson Text", serif;
	display:inline-block;
	position:relative;
	letter-spacing:0.1em;
	line-height:0;
	font-size:1rem;
	font-weight:500;
	color:#357e7b;
	transition:all 0.45s ease;
}
section.home#news .news__button a:hover{
	background-color:#357e7b;
	color:rgb(246, 244, 236);
}

section.home#news .news__button a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

section.home#news .news__button a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(45deg);
	transform-origin:100% 0%;
}

section.home#news .news__button a:before,
section.home#news .news__button a:after{
	background-color:#357e7b;
	transition:all 0.45s ease;
}
section.home#news .news__button a:hover:before,
section.home#news .news__button a:hover:after{
	background-color:rgb(246, 244, 236);
}

	color:rgb(246, 244, 236);

@media screen and (max-width: 768px) {
	section.home#news .news__item-title{
		display:block;
	}
}

/* ------------------------------------------------------------
 * Home Blank
 * ------------------------------------------------------------ */

section.home#blank{
	height:25vh!important;
	min-height:auto!important;
}
	

/* ------------------------------------------------------------
 * Home Line-up
 * ------------------------------------------------------------ */

section.home.line-up{
	color:#eaece2;
	padding-bottom:12.5rem;
}



section.home .line-up__content-top{
	width: calc(50vw + 50%);
	margin-left:calc(-50vw + 50%);
	margin-right:0;
	margin-bottom:3.5rem;
}

section.home .line-up__content-top .line-up__container-flex{
	display:flex;
	gap:6.5rem;
}

section.home.line-up .line-up__copy{
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:2.0rem;
	letter-spacing:0.2em;
	font-weight:500;
	writing-mode: vertical-rl;
	width:12rem;
	text-align:left;
	display:flex;
	align-items:flex-start;
	line-height:2em;
	color:#eaece2;
}

section.home.line-up .line-up__image{
	width:calc(100% - 12rem);
	padding:4.5rem 0 0 0;
}

section.home.line-up .line-up__image img{
	width:100%;
	object-fit:cover;
	width:100%;
	max-height:32rem;
}

.line-up__content-bottom .line-up__container-flex{
	display:flex;
	flex-wrap:wrap;
}


.line-up__content-bottom .line-up__container-flex .line-up__number{
	font-family:Montserrat, sans-serif;
	font-size:2rem;
	letter-spacing:0.1em;
	padding-right:1rem;
	padding-top:1rem;
}

.line-up__content-bottom .line-up__container-flex .line-up__logo{
	padding:0 2.0rem 0 0;

}

.line-up__content-bottom .line-up__container-flex .line-up__logo img{
	width:190px;
	max-width:40vw;
	display:block;
	margin:0 0 1rem;
}

#line-up__bounce .line-up__content-bottom .line-up__container-flex .line-up__logo img{
	width:300px;
}

.line-up__content-bottom .line-up__container-flex .line-up__logo div{
	font-size:1.25rem;
	letter-spacing:0.2em;
}

.line-up__content-bottom .line-up__container-flex .line-up__product-list{
	padding:0 0 0 2.5rem;
}

.line-up__content-bottom .line-up__container-flex .line-up__product-list ul{
	list-style:disc;
	margin:0 0 0 1rem;
	padding-left:3rem;
	border-left:1px solid #eaece2;
}

.line-up__content-bottom .line-up__container-flex .line-up__product-list ul li{
	font-size:1.15rem;
	margin:0 0 0.5rem;
}


.line-up__content-bottom .line-up__container-flex .line-up__product-list ul li:last-child{
	margin:0;
}

.line-up__content-bottom .line-up__container-flex .line-up__button{
	display:flex;
	align-items:flex-end;
	margin:0 0 0 auto;
}


.line-up__content-bottom .line-up__container-flex .line-up__button a{
	border:1px solid #fffbc7;
	background-color:#fffbc7;
	border-radius:100vh;
	padding:1.25rem 3.5rem 1.25rem 2rem;
	font-family: "Crimson Text", serif;
	display:inline-block;
	position:relative;
	letter-spacing:0.1em;
	line-height:0;
	font-size:1rem;
	font-weight:500;
	color:#357e7b;
}

#line-up__bounce .line-up__content-bottom .line-up__container-flex .line-up__button a{
	color:#37547e;
}

.line-up__content-bottom .line-up__container-flex .line-up__button a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

.line-up__content-bottom .line-up__container-flex .line-up__button a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(45deg);
	transform-origin:100% 0%;
}

#line-up__bounce .line-up__content-bottom .line-up__container-flex .line-up__button a:before,
#line-up__bounce .line-up__content-bottom .line-up__container-flex .line-up__button a:after{
	background-color: #37547e;
}

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

section.home .line-up__content-top .line-up__container-flex{
	display:flex;
	gap:1rem;
}

section.home.line-up .line-up__copy{
	width:7rem;
	line-height:1.7em;
}

section.home.line-up .line-up__image{
	width:calc(100% - 7rem);
}

	.line-up__content-bottom .line-up__container-flex .line-up__number{
		width:100%;
	}
	.line-up__content-bottom .line-up__container-flex .line-up__logo{
		width:50%;
		padding:0 0.5rem 0 0;
	}
	.line-up__content-bottom .line-up__container-flex .line-up__logo img{
		width:calc(100% - 0.5rem)!important;
	}
	
	.line-up__content-bottom .line-up__container-flex .line-up__product-list{
		width:50%;
		padding:0 0 0 1rem;
	}
	.line-up__content-bottom .line-up__container-flex .line-up__product-list ul li{
		font-size:1rem;
	}
	
	.line-up__content-bottom .line-up__container-flex .line-up__button{
		margin:2.5rem 0 0 0;
		width:100%;
		justify-content:center;
	}
}
/* ------------------------------------------------------------
 * Home  Voice
 * ------------------------------------------------------------ */

section.home#voice{
	padding:3.5rem 0;
	min-height:auto;
}

.voice__content{
	display:flex;
	margin:0 0 4.5rem;
}

.voice__content .voice__content-image{
	width:30%;
}

.voice__content .voice__content-review {
	width:70%;
	display:flex;
	justify-content:center;
}

.voice__content:nth-of-type(even) .voice__content-image{
	order:1;
}

.voice__content:nth-of-type(even) .voice__content-review{
	order:0;
}


.voice__content-review .inner{
	background-color:#fff;
	padding:2.25rem 3.5rem;
	border-radius:100vh;
	position:relative;
	max-width:70%;

}

.voice__content-review .inner:after{
	position:absolute;
	content:'';
	width:3.25rem;
	height:3px;
	background-color:#357e7b;
	transform:rotate(-55deg);
	display:block;
	bottom:0.5rem;
	left:3rem;
}

.voice__content:nth-of-type(even) .voice__content-review .inner:after{
	transform:rotate(55deg);
	left:auto;
	right:3rem;
}

.voice__content-review .name{
	text-align:center;
	font-size:1.25rem;
	
}
.voice__content-review .information{
	text-align:center;
	font-size:0.9rem:
}
.voice__content-review .rating{
	color:#357e7b;
	text-align:center;
	margin:0 0 0.5rem;
}
.voice__content-review .comment{


}




@media screen and (max-width: 768px) {
	.voice__content{
		flex-wrap:wrap;
	}
	.voice__content .voice__content-image{
		width:100%;
		transform:translate(-1.5rem, 0);
	}
	
	
	.voice__content:nth-of-type(even) .voice__content-image{
		text-align:right;
		transform:translate(1.5rem, 0);

	}
	.voice__content .voice__content-image img{
		width:70%;
	}

	.voice__content .voice__content-review {
		width:100%;
	}

.voice__content .voice__content-image{
	order:1;
}

	.voice__content .voice__content-review{
		order:0;
		margin:0 0 2.5rem;
	}
	.voice__content-review .inner{
	max-width:100%;
	}
}

/* ------------------------------------------------------------
 * Home banner
 * ------------------------------------------------------------ */

section.home#banner{
	padding:3.5rem 0;
	min-height:auto;
	}

section.home#banner a.home-banner{
	display:flex;
	flex-wrap:wrap;
	border:5px solid #4eafba;
	border-right-width:36px;
	border-radius:0.5rem;
	background-color:#e4f0dd;
	position:relative;
}

section.home#banner a.home-banner:before,
section.home#banner a.home-banner:after{
	width:1.25rem;
	height:3px;
	background-color:#fff;
	display:block;
	content:'';
	position:absolute;
	right:-24px;
	top:50%;
	transform-origin:100% 50%;
}

section.home#banner a.home-banner:before{
	transform:rotate(55deg);
}

section.home#banner a.home-banner:after{
	transform:rotate(-55deg);
}

section.home#banner  a.home-banner .home-banner__logo{
	width:50%;
	padding:2.75rem;
}

section.home#banner  a.home-banner .home-banner__logo img{
	width:22rem;
	max-width:100%;
	display:block;
	margin:0 0 0 auto;
}

section.home#banner  a.home-banner .home-banner__text{
	width:50%;
	color:#4eafba;
	font-size:1.5rem;
	padding:2.75rem;
	display:flex;
	align-items:center;
	justify-content:flex-start;
}


@media screen and (max-width: 768px) {
section.home#banner  a.home-banner .home-banner__logo,
section.home#banner  a.home-banner .home-banner__text{
	width:100%;
	padding:1.5rem;
	}
	section.home#banner  a.home-banner .home-banner__logo img{
		margin:0 auto;
	}
}


/* ------------------------------------------------------------
 * Home Instagram
 * ------------------------------------------------------------ */

section#instagram{
	padding:3.5rem 0;
	min-height:auto;
}

section#instagram h3{
	text-align:center;
	position:relative;
	font-family:Montserrat, sans-serif;
	letter-spacing:0.2em;
	font-size:1.75rem;
	color:#357e7b;
	font-weight:500;
	margin:0 0 4.5rem;
}

section#instagram h3:after{
	content:'';
	width:3.5rem;
	height:2px;
	background-color:#357e7b;
	bottom:-1.25rem;
	left:50%;
	transform:translate(-50% , 0);
	display:block;
	position:absolute;
}

.ecbn-selection-widget{
	width:100%!important;
	max-width:none!important;
}

.vsm-goods .ecbn-selection-widget-new div.ecbn-selection-wrapper, .vsm-slider .ecbn-selection-widget-new div.ecbn-selection-wrapper{
	min-width:none!important;
	margin-left:0!important;
	margin-right:0!important;
	
}

.ecbn-selection-wrapper .ecbn-selection-slide-wrapper{
	width:100%!important;
}

/* ------------------------------------------------------------
 * Home Column
 * ------------------------------------------------------------ */

section#column{
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #dee5e5 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size:60px 60px;
	background-repeat: repeat;
	background-position: center center;
	background-color:#fff;
	padding:4.5rem 0;
	min-height:auto;
}

section#column h3{
	text-align:center;
	position:relative;
	font-family:Montserrat, sans-serif;
	letter-spacing:0.2em;
	text-transform:uppercase;
	font-size:1.75rem;
	color:#357e7b;
	font-weight:500;
	margin:0 0 4.5rem;
}

section#column h3:after{
	content:'';
	width:3.5rem;
	height:2px;
	background-color:#357e7b;
	bottom:-1.25rem;
	left:50%;
	transform:translate(-50% , 0);
	display:block;
	position:absolute;
}

section#column .column__title{
	text-align:center;
	color:#357e7b;
	font-size:1.5rem;
	margin:0 0 0.25rem;
}

section#column .column__date{
	text-align:center;
	margin:0 0 1.5rem;
	letter-spacing:0.15em;
}

section#column .column__body{
	width:900px;
	margin:0 auto 2rem auto;
	max-width:100%;
}


section#column .column__button{
	display:flex;
	justify-content:center;
	margin:0 0 0 auto;
}


section#column .column__button a{
	border:1px solid #357e7b;
	background-color:transparent;
	border-radius:100vh;
	padding:1.25rem 3.5rem 1.25rem 2rem;
	font-family: "Crimson Text", serif;
	display:inline-block;
	position:relative;
	letter-spacing:0.1em;
	line-height:0;
	font-size:1rem;
	font-weight:500;
	color:#357e7b;
}

section#column .column__button a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

section#column .column__button a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(45deg);
	transform-origin:100% 0%;
}


section#column .archive-item__title{
	border-bottom:2px solid #357e7b;
}


/* ------------------------------------------------------------
 * Home Link
 * ------------------------------------------------------------ */

section#link{
	padding:4.5rem 0;
	min-height:auto!important;
}

section#link .link__container-flex{
	display:flex;
	gap:2rem;
	flex-wrap:nowrap;
}

section#link .link__container-flex a{
	width:50%;
	display:block;
	background-color:rgba(89,127,127,0.2);
	color:rgba(89,127,127,1);
	text-align:center;
	padding:1.25rem;
	transition:all 0.4s ease;
}

section#link .link__container-flex a span:nth-child(1){
	font-weight:bold;
	font-family:Montserrat, sans-serif;
	font-size:1.5rem;
	display:block;
	letter-spacing:0.2em;
}

section#link .link__container-flex a span:nth-child(2){
	display:block;
	font-size:0.75rem;
}

section#link .link__container-flex a:hover{
	background-color:rgba(89,127,127,0.45);
}

@media screen and (max-width: 768px) {
	section#link .link__container-flex{
		flex-wrap:wrap;
		}
	section#link .link__container-flex a{
		width:100%;
	}
}

/* ------------------------------------------------------------
 * Home Loop
 * ------------------------------------------------------------ */
section.home#loop{
	padding:4.5rem 0;
	min-height:auto;
}

section#loop h3{
	text-align:center;
	position:relative;
	font-family:Montserrat, sans-serif;
	letter-spacing:0.2em;
	text-transform:uppercase;
	font-size:1.75rem;
	color:#357e7b;
	font-weight:500;
	margin:0 0 0.5rem;
}

section.home#loop .section__description{
	color:#357e7b;
	text-align:center;
	margin:0 0 2.5rem;
}


section.home#loop .swiper-wrapper {
  transition-timing-function: linear;
}
section.home#loop .swiper-slide img {
  height: auto;
  width: 100%;
}

.loop__description{
	margin:2.5rem 0 0 0;
	text-align:center;
	color:#357e7b;
}

.swiper.loop{
	margin:0;
}

/* ------------------------------------------------------------
 * Home Information
 * ------------------------------------------------------------ */
dl.information {
display: flex;
flex-flow: row wrap;
width: 100%;
margin:0;
}


dl.information > dt {
flex-basis: 6rem;
padding: 0.5rem 0;
border-bottom: 1px solid #eee;
margin:0;
}

dl.information > dd {
flex-basis: calc(100% - 6rem);
padding: 0.5rem 0;
border-bottom: 1px solid #eee;
margin:0;
}

dl.information dl {
display: flex;
flex-flow: row wrap;
width: 100%;
margin:0;
}


dl.information dl dt {
flex-basis: 4rem;
padding: 0 0 0.25rem 0;
margin:0;
font-weight:normal;
}

dl.information dl dd {
flex-basis: calc(100% - 4rem);
padding: 0 0 0.25rem 0;
margin:0;
}

.swiper-container.information{
	position:relative;
	margin:0 0 2.5rem;
}

.swiper.information{
	overflow:visible!important;
	margin-bottom:3.5rem;
}

.swiper.information .information__image,
.swiper.information .information__image img{
border-radius:1.0rem;
}

.swiper.information .swiper-slide .information__caption{
	font-size:0.8rem;
	background-color:rgba(239, 25, 99,0.9);
	color:#fff;
	width:5rem;
	height:5rem;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	position:absolute;
	top:-1rem;
	right:1rem;
	border-radius:100vh;
	padding:0.5rem;
	line-height:1.2;
	transform:scale(0);
	transition:all 0.45s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0.25s;
}


.swiper.information .swiper-slide.swiper-slide-active .information__caption{
  transform:scale(1);
}


/* ------------------------------------------------------------
 * FAQ
 * ------------------------------------------------------------ */
section.faq{
	margin:0 0 3.5rem;
}

.faq__container-flex{
display:flex;
}

.faq__container-flex section.faq#nav{
	width:18rem;
	padding-right:3rem;
}


.faq__container-flex .faq__content{
	width:calc(100% - 18rem);
}


.faq__container-flex section.faq#nav .inner{
	border-right:1px solid #357e7b;
	position:sticky;
	top:9rem;
}

.faq__title-en{
	font-family: "Montserrat", sans-serif;
	font-weight:bold;
	letter-spacing:0.1em;
	font-size:1.5rem;
	color:#357e7b;
}

.faq__title-ja{
	font-size:0.75rem;
	color:#357e7b;
}

.faq__nav{
	margin:2.5rem 0 0 0;
	padding:0 0 2rem 0;
}

.faq__nav li a{
	color:#357e7b;
	padding:0.25rem 0;
}

@media screen and (max-width: 768px) {
	.faq__container-flex{
		flex-wrap:wrap;
	}
	.faq__container-flex section.faq#nav{
		width:100%;
		padding-right:0;
		margin:0 0 2.5rem;
		position:relative;
	}

	.faq__container-flex .faq__content{
		width:100%;
	}
	.faq__container-flex section.faq#nav .inner{
		border-right:0px;
		text-align:center;
		position:relative;
		top:0;
		padding:0;
	}
	.faq__container-flex section.faq#nav .inner ul.faq__nav{
		display:none;
	}
}


section.faq h2{
	margin:0 0 2.5rem;
	font-size:1.25rem;
	font-weight:bold!important;
	text-align:center;
	color:#357e7b;
}


dl.accordion{
width:640px;
max-width:100%;
margin:0 auto 4.5rem auto;
}

dl.accordion dt {
	color: #357e7b;
	background-color:#eaece2;
	border:1px solid #357e7b;
	cursor: pointer;
	padding: 0.8em 2em 0.8em 3.3em;
	position: relative;
	transition:all 0.3s ease;
	counter-increment: question;
	border-radius:100vh;
	margin:0 0 1.25rem;
	text-align:center;
}


dl.accordion dt.open,
dl.accordion dt:hover{
	background-color: #357e7b;
	color:#eaece2;
}

dl.accordion dt:before,
dl.accordion dt:after {
  position: absolute;
	width:0.7rem;
	height:2px;
	background-color:#357e7b;
	display:block;
	content:'';
	transform-origin:50% 50%;
	transition:all 0.4s ease;
	top:50%;
	right:1.5rem;
}

dl.accordion dt:after {
	transform:rotate(90deg);
}

dl.accordion dt.open:after {
	transform:rotate(360deg);
}

dl.accordion dt.open:after,
dl.accordion dt.open:before,
dl.accordion dt:hover:before,
dl.accordion dt:hover:after{
	background-color:#eaece2;
}

dl.accordion dd {
  display: none;
  padding: 0 0.5rem;
	margin:0 0 1.75rem;
	position:relative;
}

dl.accordion dd:before {
  position: absolute;


}


/* ------------------------------------------------------------
 * Line UP - Common
 * ------------------------------------------------------------ */

section.line-up{
	padding:3rem 0;
}

section.line-up .section__container{
	width:1200px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
	padding-right:1.5rem;
	padding-left:1.5rem;
}


section.line-up h3{
	font-family: "Crimson Text", serif;
	text-transform:uppercase;
	letter-spacing:0.125em;
	text-align:left;
	position:relative;
	color:#357e7b;
	font-size:2.15rem;
	margin:0 0 3.25rem;
	transform:translate(4rem, 0);
	left:10vw;
}

section.line-up h3:before{
	content:'';
	height:2px;
	width:100vw;
	background-color:#357e7b;
	position:absolute;
	display:block;
	left:calc(-100vw - 1.25rem);
	top:1.5rem;
}

section.line-up#line-up h3{
	color:#eaece2;
}

section.line-up#line-up h3:before{
	background-color:#eaece2;
}


section.line-up.point .section__title{
	text-align:center;
	color:#357e7b;
	margin:0 0 3.5rem;
}

body.bounce section.line-up.point .section__title{
	color:#37547e;
}

section.line-up.point .section__title div:nth-child(1){
	font-family: "Crimson Text", serif;
	font-size:4.5rem;
}

section.line-up.point .section__title div:nth-child(2){
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:3.0rem;
	font-weight:500;
}

@media screen and (max-width: 768px) {
	section.line-up.point .section__title{
		display:flex;
		align-items:center;
		justify-content:center;
	}

	section.line-up.point .section__title div:nth-child(1){
		line-height:1.1;
		margin:0 1.5rem 0 0;
		font-size:5.5rem;
	}

	section.line-up.point .section__title div:nth-child(2){
		line-height:1.1;
		text-align:left;
		font-size:2.5rem;
	}

}

section.line-up.point .flex__container{
	display:flex;
	flex-wrap:wrap;
	gap:4.5rem;
}

section.line-up.point .flex__container.column3{
	gap:3rem;
}

section.line-up.point .flex__container.column2 .flex__item{
	width:calc(50% - 2.25rem);
	display:flex;
	flex-direction:column;
	margin:0 0 4.5rem;
}

section.line-up.point .flex__container.column3 .flex__item{
	width:calc(33.333333% - 2rem);
	display:flex;
	flex-direction:column;
}

section.line-up.point .flex__container .title{
	font-family: "Zen Maru Gothic", sans-serif;
	text-align:center;
	color:#357e7b;
	border-bottom:2px solid #357e7b;
	padding:0 0 0.5rem;
	margin:0 0 1rem;
	font-size:1.5rem;
	font-weight:500;
}

body.bounce section.line-up.point .flex__container .title{
	color:#37547e;
	border-color:#37547e;
}

section.line-up.point .flex__container .description{
	margin:0 0 1rem;
	font-size:1.2rem;
}
section.line-up.point .flex__container .description.text-center{
	text-align:center;
}

section.line-up.point .flex__container .image{
	display:block;
	margin-top:auto;
}

section.line-up.point .flex__container .tag ul{
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
	margin:0 0 1rem;
}

section.line-up.point .flex__container .tag ul li{
	border:1px solid #000;
	padding:0.25rem 0.5rem;
}

section.line-up.point .flex__container .flex__container-inner{
	display:flex;
	flex-wrap:nowrap;
	gap:1.5rem;
	margin-top:auto;
}

section.line-up.point .flex__container .flex__container-inner > div{
	width:calc(50% - 0.75rem);
}
section.line-up.point .flex__container .flex__container-inner > .description{
	display:flex;
	align-items:center;
}

section.line-up .bottom__image{
	width;:100vw;
	height:25vh;
}
section.line-up .bottom__image img{
	object-fit:cover;
	max-height:100%;
	width:100%;
}

section.line-up.bounce .bottom__image img{
	object-position:50% 35%;
}

section.line-up .bottom__description{
	padding:3rem 0 0 0;
	text-align:center;
	color:#357e7b;
}

section.line-up .line-up__copy{
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:2.5rem;
	letter-spacing:0.25em;
	font-weight:500;
	color:#357e7b;
	writing-mode: vertical-rl;
	width:40%;

	display:flex;
	align-items:center;
	line-height:2.5em;
}



section.line-up a.lineup-banner{
	border:5px solid #4eafba;
	border-radius:0.5rem;
	background-color:#e4f0dd;
	position:relative;
	display:block;

}

section.line-up a.lineup-banner .inner{
	padding:2.75rem 2.75rem 0;
}

section.line-up  a.lineup-banner .lineup-banner__logo{

}


section.line-up  a.lineup-banner .lineup-banner__logo img{
	display:block;
	margin:0 auto 0 auto;
	width:300px;
	max-width:100%;
}

section.line-up  a.lineup-banner .lineup-banner__text{
	border-top:3px solid #4eafba;
	color:#4eafba;
	font-size:1.5rem;
	margin:2rem 0 0 0;
	text-align:center;
	padding-top:1.5rem;
}

section.line-up  a.lineup-banner .lineup-banner__text p{
	margin:0 0 1.6rem 0;
}


section.line-up  a.lineup-banner .lineup-banner__button{
	background-color:#4eafba;
}

section.line-up  a.lineup-banner .lineup-banner__button .image{
	transition:all 0.4s ease;
}

section.line-up  a.lineup-banner .lineup-banner__button.active .image{
	transform:rotate(180deg);
}

.lineup-banner__text {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.8s ease, opacity 0.4s ease;
  opacity: 0;
}

.lineup-banner__text.is-open {
  max-height: 1500px; /* 十分に大きめに（中身より大きければOK） */
  opacity: 1;
}

.lineup-banner__button {
  cursor: pointer;
  background: #eee;
  text-align: center;
  padding: .8em;
  transition: background 0.75s;
}

.lineup-banner__button.active {
  background: #ccc;
}


@media screen and (max-width: 768px) {
	section.line-up .line-up__copy{
		line-height:1.5em;
		font-size:1.75rem;
	}
	section.line-up  a.lineup-banner .lineup-banner__text{
		text-align:left;
		font-size:1.25rem;
	}
	section.line-up a.lineup-banner .inner{
		padding-right:1rem;
		padding-left:1rem;
	}
}


/* ベース */
.acc__base + .acc__extra { margin-top: 12px; }

/* スライド感をCSSで滑らかに（heightアニメのためのラッパ不要版） */
.acc__extra {
  overflow: hidden;
  transition: grid-template-rows 300ms ease, opacity 300ms ease;
  display: grid;
  grid-template-rows: 0fr;     /* 閉 */
  opacity: 0;
}
.acc__extra > * { min-height: 0; } /* gridの収縮で必要 */

.acc__extra.is-open {
  grid-template-rows: 1fr;     /* 開 */
  opacity: 1;
}

/* ボタン */
.acc__btn {
	border-radius:100vh;
	padding:3.5rem 0 2rem 0;
	font-family: "Crimson Text", serif;
	display:block;
	width:20rem;
	text-align:center;
	position:relative;
	letter-spacing:0.1em;
	line-height:0;
	font-size:1rem;
	font-weight:500;
	color:#357e7b;
	cursor:pointer;
  transition: opacity .45s ease;
	margin-right:auto;
	margin-left:auto;
}

.acc__btn:hover { opacity: .85; }

.acc__btn:before,
.acc__btn:after{
	content:'';
	width:1.5rem;
	height:2px;
	background-color:#357e7b;
	position:absolute;
	left:50%;
	bottom:0;
	transition:all 0.3s ease;
}


.acc__btn:before{
	transform-origin:100% 100%;
	transform:translate(-100% ,0) rotate(20deg);

}

.acc__btn:after{
	transform-origin:0% 100%;
	transform:translate(0% ,0) rotate(-20deg);
}


.acc__btn[aria-expanded="true"]:before,
.acc__btn[aria-expanded="true"]:after{
	opacity:0;
}


.bounce.acc .acc__btn {
	color:#37547e;
}

.bounce.acc .acc__btn:before,
.bounce.acc .acc__btn:after{
	background-color:#37547e;
}

/* ------------------------------------------------------------
 * Line UP Dots
 * ------------------------------------------------------------ */

section.line-up#hero .hero__image{
	width:100vw;
}
section.line-up#hero .hero__image img{
	object-fit:cover;
	max-height:100%;
	width:100%;
	height:400px;
}

.hero__logo{
	text-align:center;
	margin:3.5rem auto;
	display:flex;
	justify-content:center;
	align-items:center;

}

.hero__logo span{
	color:#357e7b;
	font-family: "Montserrat", sans-serif;
	font-size:2rem;
	font-weight:500;
	letter-spacing:0.1em;
	display:inline-block;
	margin:0 1.5rem 0 0;
}

.hero__logo img{
	width:200px;
	display:block;
}

@media screen and (max-width: 768px) {
	section.line-up.dots#hero .hero__image img{
		height:400px;
	}
	.hero__logo{
	flex-direction:column;	
	}
	.hero__logo span{
		margin:0 0 1rem;
	}
}

/* ------------------------------------------------------------
 * Shop List
 * ------------------------------------------------------------ */

body.shop-list main{
	padding-top:3.5rem;
}

body.shop-list .page__header{
	padding-top:80px;
}


.shop-list__container-flex{
display:flex;
flex-wrap:wrap;
}

.shop-list__container-flex section.shop-list#nav{
	width:20rem;
	padding-right:3rem;
}


.shop-list__container-flex .shop-list__content{
	width:calc(100% - 20rem);
}



.shop-list__container-flex section.shop-list#nav .inner{
	border-right:1px solid #357e7b;
	position:sticky;
	top:9rem;
	text-align:right;
	padding-right:2rem;
}

@media screen and (max-width: 768px) {
	.shop-list__container-flex section.shop-list#nav{
		width:100%;
		padding-right:0;
		margin:0 0 2.5rem;
	}

	.shop-list__container-flex .shop-list__content{
		width:100%;
	}
	.shop-list__container-flex section.shop-list#nav .inner{
		border-right:0px;
		text-align:center;
		position:relative;
		top:0;
		padding:0;
	}
	.shop-list__container-flex section.shop-list#nav .inner ul.shop-list__nav{
		display:none;
	}
}


.shop-list__title-en{
	font-family: "Montserrat", sans-serif;
	font-weight:500;
	letter-spacing:0.1em;
	font-size:2.0rem;
	color:#357e7b;
}

.shop-list__title-ja{
	font-size:0.75rem;
	color:#357e7b;
}

.shop-list__nav{
	margin:2.5rem 0 0 0;
	padding:0 0 2rem 0;
}

.shop-list__nav li a{
	color:#357e7b;
	padding:0.25rem 0;
}


body.shop-list h2{
	color: #357e7b;
	font-weight:500;
	font-family: "Montserrat", sans-serif;
	text-align:left;
	font-size:1.75rem;
	margin:0 auto 1.5rem auto;
	letter-spacing:0.25em;
	font-kerning: none;
	width:640px;
	max-width:100%;
}

.shop-list__container-flex .shop-list__content .inner{
	width:640px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
	padding:0 0 3.5rem;
}

.shop-list__container-flex .shop-list__content .shop__item{
	margin-bottom:3.5rem;
	background-color:rgba(53,126,123,0.15);
	border-radius:0.25rem;
	padding:1rem;
	position:relative;
}

.shop__container-flex{
	display:flex;
	gap:3rem;
}

.shop__container-flex .shop__image{
	width:40%;
}

.shop__container-flex .shop__content{
	width:calc(60% - 3rem);
}




.shop__name{
	color:#357e7b;
	font-size:1.25rem;
	font-weight:bold;
	margin:0 0 0.75rem;
}

dl.shop__info {
display: flex;
flex-flow: row wrap;
width: 100%;
margin:0 0 0rem;
}

dl.shop__info dt {
flex-basis: 5em;
padding: 0.25rem 0.75rem 0.25rem 0;
margin:0;
color:#357e7b;
}

dl.shop__info dd {
flex-basis: calc(100% - 5em);
padding: 0.25rem 0;
margin:0;
}

.shop__map{
	margin:1rem 0 0 0;
}

.shop__map a{
	display:inline-block;
	border:1px solid #357e7b;
	color:#357e7b;
	padding:0.5rem 3.5rem;
	border-radius:100vh;
	line-height:1;
	position:relative;

}

.shop__map a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

.shop__map a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(45deg);
	transform-origin:100% 0%;
}

.shop-detail__button-back{
	text-align:center;
	margin:2.5rem 0 3.5rem;
}

.shop-detail__button-back a{
	display:inline-block;
	border:1px solid #357e7b;
	background-color:#357e7b;
	color:#f6f4ec;
	padding:0.5rem 4.5rem;
	font-family: "Crimson Text", serif;
	border-radius:100vh;
	line-height:1;
	position:relative;
	letter-spacing:0.1em;

}

.shop-detail__button-back a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #f6f4ec;
	left:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

.shop-detail__button-back a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #f6f4ec;
	left:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(-45deg);
	transform-origin:0% 0%;
}

.shop__detail {
position:absolute;
text-align:right;
right:1rem;
transform:translate(0, -100%);
}

.shop__detail a{
	border:1px solid #fffbc7;
	background-color:#fffbc7;
	border-radius:100vh;
	padding:1.25rem 3.5rem 1.25rem 2rem;
	font-family: "Crimson Text", serif;
	display:inline-block;
	position:relative;
	letter-spacing:0.1em;
	line-height:0;
	font-size:1rem;
	font-weight:500;
	color:#357e7b;
}

.shop__detail a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

.shop__detail a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	right:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(45deg);
	transform-origin:100% 0%;
}

.shop__comingsoon{
	color:#357e7b;
	text-align:center;
	letter-spacing:0.1em;
	font-weight:900;
}


#line-up__bounce .line-up__content-bottom .line-up__container-flex .line-up__button a:before,
#line-up__bounce .line-up__content-bottom .line-up__container-flex .line-up__button a:after{
	background-color: #37547e;
}

@media screen and (max-width: 768px) {
	.shop__detail {
	position:relative;
	text-align:center;
	transform:translate(0, 0);
	right:auto;
	margin-top:1rem;
	}
}

@media screen and (max-width: 768px) {
		.shop__container-flex .shop__image,
		.shop__container-flex .shop__content{
		width:100%;
		margin:0 0 1.5rem;
	}
	.shop__name,
	.shop__map{
		text-align:center;
	}
}

/* ------------------------------------------------------------
 * Shop Detail
 * ------------------------------------------------------------ */
.single-shop main h2{
	    color: #357e7b;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    text-align: left;
    font-size: 1.5rem;
    margin: 0 auto 1.5rem auto;
    letter-spacing: 0.25em;
    font-kerning: none;
    max-width: 100%;
}


body:not(.shop-list) .shop-list__container-flex .shop-list__content .shop__item{
	width:640px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
	margin-bottom:3.5rem;
	background-color:transparent;
	border-radius:0.25rem;
	padding:0rem;
	position:relative;
}

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


	.shop__container-flex{
		display:block;
	}
	.shop-list__container-flex .shop__image,
	.shop-list__container-flex .shop__content{
		width:100%;
	}
	.shop-list__container-flex .shop__image{
		margin:0 0 1rem;
	}
	.shop-list__container-flex .shop__image img{
		object-fit:cover;
		aspect-ratio:16 / 9;
	}
	.shop-list__container-flex .shop__map{
		text-align:center;
		margin:1rem 0 0 0;
	}
}


/* ------------------------------------------------------------
 * Dots
 * ------------------------------------------------------------ */
section.line-up.dots .flex__container{
	display:flex;
	flex-direction:column;
}
section.line-up.dots .line-up__content-top{
	display:flex;
	margin:0 0 4.5rem;
}


section.line-up.dots .line-up__content-top .section__image{
	width:60%;
}

section.line-up.dots .line-up__content-top .section__image.pc img{
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
	transform:translate(-10vw, 0);
}

section.line-up.dots .line-up__content-top .section__image.sp img{
  -webkit-clip-path: url(#svgPathSp);
  clip-path: url(#svgPathSp);
}



section.line-up.dots .line-up__content-top .section__image.pc{
		display:block;
	}
section.line-up.dots .line-up__content-top .section__image.sp{
		display:none;
	}

section.line-up.dots .line-up__content-top .section__image img{
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
	transform:translate(-10vw, 0);
}

section.line-up.dots .line-up__description p{
	margin:0 0 1.5rem;
	font-size:1.15rem;
}

@media screen and (max-width: 768px) {
section.line-up.dots .line-up__content-top .section__image.pc{
		display:none;
	}
section.line-up.dots .line-up__content-top .section__image.sp{
		display:block;
	}

	section.line-up.dots .line-up__description p{
		font-size:1.25rem;
	}
	section.line-up.dots .line-up__content-top .concept__image-01{
		max-width:75vw;
		width:75vw;
		padding-top:15vh;
	}

}

section.line-up.dots.point{
	position:relative;
}

section.line-up.dots.point:after{
	position:absolute;
	top:0;
	left:0;
	width:100vw;
	height:58.4vw;
	content:'';
	display:block;
	background-image:url(images/dots/point01__bg.svg);
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:contain;
	z-index:-1;
}

section.line-up.dots.point#point01:after{
	background-image:url(images/dots/point01__bg.svg);
	top:-15vh;
}

section.line-up.dots.point#point02:after{
	background-image:url(images/dots/point02__bg.svg);
	top:10vh;
}

section.line-up.dots.point#point03:after{
	background-image:url(images/dots/point03__bg.svg);
	top:-3vh;
}


section.line-up.dots.point#point01 .flex__container{
	display:flex;
	gap:3rem;
	flex-direction:row;
}


@media screen and (max-width: 768px) {
	section.line-up.dots.point#point01 .flex__container{
		gap:3rem;
		flex-direction:column-reverse;
	}
}
section.line-up.dots.point#point01 .flex__container .image{
	width:55%;
}

section.line-up.dots.point#point01 .flex__container .flex__item:nth-child(1){
	width:55%;
}

section.line-up.dots.point#point01 .flex__container .flex__item:nth-child(2){
	width:calc(45% - 3rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
}

@media screen and (max-width: 768px) {
	section.line-up.dots.point#point01 .flex__container{
		gap:1rem;
		flex-direction:column-reverse;
	}
	section.line-up.dots.point#point01 .flex__container .image,
	section.line-up.dots.point#point01 .flex__container .flex__item:nth-child(1),
	section.line-up.dots.point#point01 .flex__container .flex__item:nth-child(2){
		width:100%;
	}
}

section.line-up.dots.point#point01 .flex__container .flex__item:nth-child(1) img{
	border-radius:0.25rem;
}


section.line-up.dots.point#point02 .flex__container{
	display:flex;
	gap:3rem;
	flex-direction:row;
	margin:0 0 3.5rem;
}

section.line-up.dots.point#point02 .flex__container .image{
	width:55%;
}

section.line-up.dots.point#point02 .flex__container .flex__item:nth-child(1){
	width:55%;
}

section.line-up.dots.point#point02 .flex__container .flex__item:nth-child(2){
	width:calc(45% - 3rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
}

section.line-up.dots.point#point02 .flex__container .flex__item:nth-child(1) img{
	border-radius:0.25rem;
}

section.line-up.dots.point#point02 .point02__container{
	background-color:rgba(53,126,123,0.15);
	padding:3.5rem;
	border-radius:0.25rem;
}

section.line-up.dots.point#point02 .point02__container .flex__container .flex__item:nth-child(1){
	width:calc(50% - 3rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
}

section.line-up.dots.point#point02 .point02__container .flex__container .flex__item:nth-child(2){
	width:50%;
}


section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child{
	display:flex;
	gap:2rem;
}

section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child .flex__item{
	width:calc(50% - 1rem);	
}

section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child .flex__item .title{
	font-size:1rem;
	height:30px;
	border:0px;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 0 0.5rem;
}

section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child .flex__item .title img{
	height:26px;
}

section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child .flex__item > img{
	display:block;
	margin:0 0 0.5rem;
}

@media screen and (max-width: 768px) {
	section.line-up.dots.point#point02 .point02__container{
		padding:1rem;
	}
	section.line-up.dots.point#point02 .point02__container .flex__container .flex__item:nth-child(2),
	section.line-up.dots.point#point02 .point02__container .flex__container .flex__item:nth-child(1){
		width:100%;
	}
	section.line-up.dots.point#point02 .flex__container{
		gap:1rem;
		flex-direction:column;
	}
	section.line-up.dots.point#point02 .flex__container .image,
	section.line-up.dots.point#point02 .flex__container .flex__item:nth-child(1),
	section.line-up.dots.point#point02 .flex__container .flex__item:nth-child(2){
		width:100%;
	}
section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child .flex__item{
	width:100%;
	}
	section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child{
		gap:1rem;
	}
	section.line-up.dots.point#point02 .point02__container .flex__container .flex__container-child .flex__item{
		width:calc(50% - 0.5rem);	
	}
}

section.line-up.dots.point#point03 .flex__container{
	display:flex;
	gap:3rem;
	flex-direction:row;
	margin:0 0 3.5rem;
}


section.line-up.dots.point#point03 .flex__container .flex__item{
	width:calc(50% - 1.5rem);
}


@media screen and (max-width: 768px) {
	section.line-up.dots.point#point03 .flex__container .flex__item{
		width:100%;
	}
}


section.line-up.dots .line-up__header img{
	display:block;
	object-fit:cover;
	height:20rem;
	width:100vw;
	margin:4.5rem 0 0 0;
}

section.line-up.dots .line-up__title{
	text-align:center;
	color:#f0ece0;
	font-size:1.75rem;
	margin:3.5rem 0 0.25rem;
}

section.line-up.dots .line-up__lead{
	text-align:center;
	color:#f0ece0;
	margin:0 0 3.5rem;
	font-size:1.2rem;
}


section.line-up.dots#line-up .swiper.line-up{
	padding-bottom:7.5rem;
}

section.line-up.dots#line-up .swiper.line-up .swiper-slide{
padding-right:0rem;
padding-left:0rem;
	display:flex;
	flex-direction:column;
	height: auto;
}

section.line-up.dots#line-up .swiper.line-up .swiper-pagination{
	bottom:3rem;
}

section.line-up.dots#line-up .swiper.line-up .swiper-pagination .swiper-pagination-bullet{
	border:1px solid #fff;
	opacity:1;
	background-color:#fff;
}

section.line-up.dots#line-up .swiper.line-up .swiper-pagination .swiper-pagination-bullet-active  {
	background-color:transparent;
	}

/*
section.line-up.dots#line-up .swiper.line-up .swiper-button-next ,
section.line-up.dots#line-up .swiper.line-up .swiper-button-prev {
	background-color: transparent;
	color:#fff;
	width:36px;
	height:36px;
	border-radius:100vh;
	padding:5px;
	top:auto;
	bottom:2.35rem;
	}


section.line-up.dots#line-up .swiper.line-up .swiper-button-prev{
	left:calc(50% - 6rem);
}

section.line-up.dots#line-up .swiper.line-up .swiper-button-next {
	right:calc(50% - 6rem);
}

section.line-up.dots#line-up .swiper.line-up .swiper-button-next:after ,
	.swiper-button-prev:after{
		font-size:12px;
	}
*/

section.line-up.dots#line-up .banner{
	margin:0 0 1.5rem;
}

section.line-up.dots#line-up .banner img{
	border-radius:0.25rem;
}

section.line-up.dots#line-up .information{
	width:640px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
}


section.line-up.dots#line-up .title{
	color:#f0ece0;
	text-align:center;
	font-size:1.75rem;
	font-weight:bold;
	line-height:1.05;
}
section.line-up.dots#line-up .title span{
	font-family: "Montserrat", sans-serif;
	font-weight:500;
	letter-spacing:0.1em;
}

section.line-up.dots#line-up .table table{
	width:100%;
	border-collapse: separate;
  border-spacing: 0;
	border:2px solid #f0ece0;
	border-radius:0.5rem;
	overflow: hidden;
	margin-bottom:2rem;
}

section.line-up.dots#line-up .table table td,
section.line-up.dots#line-up .table table th{
	color:#f0ece0;
	border-bottom:2px solid #f0ece0;
	padding:0.25rem;
	text-align:center;
	vertical-align:middle;
	font-weight:500;
	font-kerning: none;
	letter-spacing:0;
}


section.line-up.dots#line-up .table table tr:last-child td,
section.line-up.dots#line-up .table table td[rowspan]{
	border-bottom:0px;
}

section.line-up.dots#line-up .table table td{
	border-left:2px solid #f0ece0;
}
section.line-up.dots#line-up .table table tr td:first-child{
	border-left:0px;
}

section.line-up.dots#line-up .table table th{
	background-color:#f0ece0;
	color:#357e7b;
	font-size:1.25rem;
	padding:0.1rem;
}
section.line-up.dots#line-up .table table td .size{
	display:flex;
	align-items:center;
	justify-content:center;
}

section.line-up.dots#line-up .table table td .size img{
	display:inline-block;
	margin-right:0.5rem;
}

section.line-up.dots#line-up .link{
	text-align:center;
	margin:auto 0 0 0;
}

section.line-up.dots#line-up .link a{
 border:1px solid #fffbc7;
	background-color:#fffbc7;
	color:#357e7b;
	display:inline-block;
	padding:0.5rem 3rem;
	border-radius:100vh;
	line-height:1;
	font-weight:500;
	letter-spacing:0.1em;
}

section.line-up.dots#bottom .bottom__description{
	color:#f0ece0;
	
}




/* ------------------------------------------------------------
 * Bounce
 * ------------------------------------------------------------ */



body.bounce section.line-up h3{
	font-family: "Crimson Text", serif;
	text-transform:uppercase;
	letter-spacing:0.125em;
	text-align:left;
	position:relative;
	color:#37547e;
	font-size:2.15rem;
	margin:0 0 3.25rem;
	transform:translate(4rem, 0);
}

body.bounce section.line-up h3:before{
	content:'';
	height:2px;
	width:100vw;
	background-color:#37547e;
	position:absolute;
	display:block;
	left:calc(-100vw - 1.25rem);
	top:1.5rem;
}


body.bounce .hero__logo{
	text-align:center;
	margin:3.5rem auto;
	display:flex;
	justify-content:center;
	align-items:center;

}

body.bounce .hero__logo span{
	color:#37547e;
	font-family: "Montserrat", sans-serif;
	font-size:2rem;
	font-weight:500;
	letter-spacing:0.1em;
	display:inline-block;
	margin:0 1.5rem 0 0;
}

body.bounce .hero__logo img{
	width:300px;
	display:block;
}

@media screen and (max-width: 768px) {
	body.bounce section.line-up.dots#hero .hero__image img{
		height:400px;
	}
	body.bounce .hero__logo{
	flex-direction:column;	
	}
	body.bounce .hero__logo span{
		margin:0 0 1rem;
	}
}


body.bounce section.line-up .line-up__copy{
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:2.5rem;
	letter-spacing:0.25em;
	font-weight:500;
	color:#37547e;
	writing-mode: vertical-rl;
	width:40%;

	display:flex;
	align-items:center;
	line-height:2.5em;
}

@media screen and (max-width: 768px) {
	body.bounce section.line-up .line-up__copy{
		line-height:1.5em;
		font-size:1.75rem;
	}
}

section.line-up.bounce#concept .flex__container{
	display:flex;
	flex-direction:column;
}

section.line-up.bounce#point03 .flex__container{
	display:flex;
}
section.line-up.bounce .line-up__content-top{
	display:flex;
	margin:0 0 4.5rem;
}


section.line-up.bounce .line-up__content-top .section__image{
	width:60%;
}

section.line-up.bounce .line-up__content-top .section__image img{
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
	transform:translate(-10vw, 0);
}


section.line-up.bounce .line-up__content-top .section__image.sp img{
  -webkit-clip-path: url(#svgPathSp);
  clip-path: url(#svgPathSp);
}

section.line-up.bounce .line-up__content-top .section__image.pc{
		display:block;
	}
section.line-up.bounce .line-up__content-top .section__image.sp{
		display:none;
	}

section.line-up.bounce .line-up__description p{
	margin:0 0 1.5rem;
	font-size:1.5rem;
}

@media screen and (max-width: 768px) {
section.line-up.bounce .line-up__content-top .section__image.pc{
		display:none;
	}
section.line-up.bounce .line-up__content-top .section__image.sp{
		display:block;
	}

	section.line-up.bounce .line-up__description p{
		font-size:1.25rem;
	}
	section.line-up.bounce .line-up__content-top .concept__image-01{
		max-width:75vw;
		width:75vw;
		padding-top:15vh;
	}

}

section.line-up.bounce.point{
	position:relative;
}

section.line-up.bounce.point:after{
	position:absolute;
	top:0;
	left:0;
	width:100vw;
	height:58.4vw;
	content:'';
	display:block;
	background-image:url(images/bounce/point01__bg.svg);
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:contain;
	z-index:-1;
}

body.bounce section.line-up.bounce.point#point01:after{
	background-image:url(images/bounce/point01__bg.svg);
	top:-15vh;
}

body.bounce section.line-up.bounce.point#point02:after{
	background-image:url(images/bounce/point02__bg.svg);
	top:10vh;
}

body.bounce section.line-up.bounce.point#point03:after{
	background-image:url(images/bounce/point03__bg.svg);
	top:-3vh;
}


section.line-up.bounce.point#point01 .flex__container{
	display:flex;
	gap:3rem;
	flex-direction:row;
}


@media screen and (max-width: 768px) {
	section.line-up.bounce.point#point01 .flex__container{
		gap:3rem;
		flex-direction:column-reverse;
	}
}
section.line-up.bounce.point#point01 .flex__container .image{
	width:55%;
}

section.line-up.bounce.point#point01 .flex__container .flex__item:nth-child(1){
	width:55%;
}

section.line-up.bounce.point#point01 .flex__container .flex__item:nth-child(2){
	width:calc(45% - 3rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
}

@media screen and (max-width: 768px) {
	section.line-up.bounce.point#point01 .flex__container{
		gap:1rem;
		flex-direction:column-reverse;
	}
	section.line-up.bounce.point#point01 .flex__container .image,
	section.line-up.bounce.point#point01 .flex__container .flex__item:nth-child(1),
	section.line-up.bounce.point#point01 .flex__container .flex__item:nth-child(2){
		width:100%;
	}
}

section.line-up.bounce.point#point01 .flex__container .flex__item:nth-child(1) img{
	border-radius:0.25rem;
}


section.line-up.bounce.point#point02 .flex__container{
	display:flex;
	gap:3rem;
	flex-direction:row;
	margin:0 0 3.5rem;
}

section.line-up.bounce.point#point02 .flex__container .image{
	width:55%;
}

section.line-up.bounce.point#point02 .flex__container .flex__item:nth-child(1){
	width:55%;
}

section.line-up.bounce.point#point02 .flex__container .flex__item:nth-child(2){
	width:calc(45% - 3rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
}

section.line-up.bounce.point#point02 .flex__container .flex__item:nth-child(1) img{
	border-radius:0.25rem;
}

body.bounce section.line-up.bounce.point#point02 .point02__container{
	background-color:rgba(55,84,126,0.15);
	padding:3.5rem;
	border-radius:0.25rem;
}

section.line-up.bounce.point#point02 .point02__container .flex__container .flex__item:nth-child(1){
	width:calc(50% - 3rem);
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
}

section.line-up.bounce.point#point02 .point02__container .flex__container .flex__item:nth-child(2){
	width:50%;
}


section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child{
	display:flex;
	gap:2rem;
}

section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child .flex__item{
	width:calc(50% - 1rem);	
}

section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child .flex__item .title{
	font-size:1rem;
	height:30px;
	border:0px;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 0 0.5rem;
}

section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child .flex__item .title img{
	height:26px;
}

section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child .flex__item > img{
	display:block;
	margin:0 0 0.5rem;
}

@media screen and (max-width: 768px) {
	section.line-up.bounce.point#point02 .point02__container{
		padding:1rem;
	}
	section.line-up.bounce.point#point02 .point02__container .flex__container .flex__item:nth-child(2),
	section.line-up.bounce.point#point02 .point02__container .flex__container .flex__item:nth-child(1){
		width:100%;
	}
	section.line-up.bounce.point#point02 .flex__container{
		gap:1rem;
		flex-direction:column;
	}
	section.line-up.bounce.point#point02 .flex__container .image,
	section.line-up.bounce.point#point02 .flex__container .flex__item:nth-child(1),
	section.line-up.bounce.point#point02 .flex__container .flex__item:nth-child(2){
		width:100%;
	}
section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child .flex__item{
	width:100%;
	}
	section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child{
		gap:1rem;
	}
	section.line-up.bounce.point#point02 .point02__container .flex__container .flex__container-child .flex__item{
		width:calc(50% - 0.5rem);	
	}
	body.bounce section.line-up.bounce.point#point02 .point02__container{
		padding:1.5rem;
	}
}


}

body.bounce section.line-up.bounce.point#point03 .flex__container{
	display:flex;
	gap:3rem;
	flex-direction:row;
	margin:0 0 3.5rem;
}


body.bounce section.line-up.bounce.point#point03 .flex__container .flex__item{
	width:calc(50% - 2.25rem);
}

body.bounce section.line-up.bounce.point#point03 .flex__container.column3{
	display:flex;
	gap:3rem;
	flex-direction:row;
	margin:0 0 3.5rem;
}


body.bounce section.line-up.bounce.point#point03 .flex__container.column3 .flex__item{
	width:calc(33.3333333% - 2rem);
}


@media screen and (max-width: 768px) {
	body.bounce section.line-up.bounce.point#point03 .flex__container .flex__item,
	body.bounce section.line-up.bounce.point#point03 .flex__container.column3 .flex__item{
		width:100%;
	}
}


section.line-up.bounce .line-up__header img{
	display:block;
	object-fit:cover;
	height:20rem;
	width:100vw;
	margin:4.5rem 0 0 0;
}

section.line-up.bounce .line-up__title{
	text-align:center;
	color:#f0ece0;
	font-size:1.75rem;
	margin:3.5rem 0 0.25rem;
}

section.line-up.bounce .line-up__lead{
	text-align:center;
	color:#f0ece0;
	margin:0 0 3.5rem;
	font-size:1.2rem;
}


section.line-up.bounce#line-up .swiper.line-up{
	padding-bottom:7.5rem;
}

section.line-up.bounce#line-up .swiper.line-up .swiper-slide{
padding-right:0rem;
padding-left:0rem;
	display:flex;
	flex-direction:column;
	height: auto;
}

section.line-up.bounce#line-up .swiper.line-up .swiper-pagination{
	bottom:3rem;
}

section.line-up.bounce#line-up .swiper.line-up .swiper-pagination .swiper-pagination-bullet{
	border:1px solid #fff;
	opacity:1;
	background-color:#fff;
}


section.line-up.bounce#line-up .swiper.line-up .swiper-pagination .swiper-pagination-bullet-active  {
	background-color:transparent;
	}

/*
section.line-up.bounce#line-up .swiper.line-up .swiper-button-next ,
section.line-up.bounce#line-up .swiper.line-up .swiper-button-prev {
	background-color: transparent;
	color:#fff;
	width:36px;
	height:36px;
	border-radius:100vh;
	padding:5px;
	top:auto;
	bottom:2.35rem;
	}

section.line-up.bounce#line-up .swiper.line-up .swiper-button-prev{
	left:calc(50% - 5rem);
}

section.line-up.bounce#line-up .swiper.line-up .swiper-button-next {
	right:calc(50% - 5rem);
}

section.line-up.bounce#line-up .swiper.line-up .swiper-button-next:after ,
	.swiper-button-prev:after{
		font-size:12px;
	}
*/


section.line-up.bounce#line-up .banner{
	margin:0 0 1.5rem;
}

section.line-up.bounce#line-up .banner img{
	border-radius:0.25rem;
}
section.line-up.bounce#line-up .information{
	width:640px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
}


section.line-up.bounce#line-up .title{
	color:#f0ece0;
	text-align:center;
	font-size:1.75rem;
	font-weight:bold;
	line-height:1.05;
}
section.line-up.bounce#line-up .title span{
	font-family: "Montserrat", sans-serif;
	font-weight:500;
	letter-spacing:0.1em;
}

section.line-up.bounce#line-up .table table{
	width:100%;
	border-collapse: separate;
  border-spacing: 0;
	border:2px solid #f0ece0;
	border-radius:0.5rem;
	overflow: hidden;
	margin-bottom:2rem;
}

section.line-up.bounce#line-up .table table td,
section.line-up.bounce#line-up .table table th{
	color:#f0ece0;
	border-bottom:2px solid #f0ece0;
	padding:0.25rem;
	text-align:center;
	vertical-align:middle;
	font-weight:500;
	font-kerning: none;
	letter-spacing:0;
}


section.line-up.bounce#line-up .table table tr:last-child td,
section.line-up.bounce#line-up .table table td[rowspan]{
	border-bottom:0px;
}

section.line-up.bounce#line-up .table table td{
	border-left:2px solid #f0ece0;
}
section.line-up.bounce#line-up .table table tr td:first-child{
	border-left:0px;
}

section.line-up.bounce#line-up .table table th{
	background-color:#f0ece0;
	color:#37547e;
	font-size:1.25rem;
	padding:0.1rem;
}
section.line-up.bounce#line-up .table table td .size{
	display:flex;
	align-items:center;
	justify-content:center;
}

section.line-up.bounce#line-up .table table td .size img{
	display:inline-block;
	margin-right:0.5rem;
}

section.line-up.bounce#line-up .link{
	text-align:center;
	margin:auto 0 0 0;
}

section.line-up.bounce#line-up .link a{
 border:1px solid #fffbc7;
	background-color:#fffbc7;
	color:#37547e;
	display:inline-block;
	padding:0.5rem 3rem;
	border-radius:100vh;
	line-height:1;
	font-weight:500;
	letter-spacing:0.1em;
}

section.line-up.bounce#bottom .bottom__description{
	color:#f0ece0;
	
}


/* ------------------------------------------------------------
 * Dots Bounce共通
 * ------------------------------------------------------------ */

.swiper.line-up .swiper-button-next,
.swiper.line-up .swiper-button-prev {
	background-color: transparent;
	color:#fff;
	width:36px;
	height:36px;
	border-radius:100vh;
	padding:5px;
}

.swiper.line-up .swiper-button-next:after,
.swiper.line-up .swiper-button-prev:after {
    font-size: 24px;
}

.swiper.line-up .swiper-button-prev{
	left:;
}

.swiper.line-up .swiper-button-next {
	right:;
}
@media screen and (max-width: 768px) {
	
.swiper.line-up .swiper-button-next,
.swiper.line-up .swiper-button-prev {
	top:auto;
	bottom:2.25rem;
}
}

/* ------------------------------------------------------------
 * News
 * ------------------------------------------------------------ */

.news-archive{
	display:flex;
}

.news__nav{
	width:16rem;
	padding-right:3rem;
}
.news__nav .inner{
	border-right:1px solid #357e7b;
	position:sticky;
	top:9rem;
	padding:0 1.5rem 0 0;
}


.news__nav .inner .news-archive__title{
	font-family: "Montserrat", sans-serif;
	font-weight:bold;
	letter-spacing:0.1em;
	font-size:1.5rem;
	color:#357e7b;
	text-align:right;
}

.news__nav .inner .faq__title-ja{
	font-size:0.75rem;
	color:#357e7b;
}

.news__nav .inner .news-archive__years-list{
	margin:2.5rem 0 0 0;
	padding:0 0 2rem 0;
}

.news__nav .inner .news-archive__years-list li{
	text-align:right;
	padding:0.5rem 0;
}

.news__nav .inner .news-archive__years-list li a{
	color:#357e7b;
	display:block;
	
}


.news__body{
	width:calc(100% - 32rem);
	padding:4.5rem 0;
	min-height:auto;
}

.news__body article{
	padding:0 2.5rem 4.5rem 2.5rem;
}



.news-archive__post-head,
.news-archive__title{
	color:#357e7b;
	font-size:1.75rem;
	margin:0 0 0.25rem;
}

.news-archive__date {
	font-size:0.85rem;	
	margin:0 0 1.25rem;
	display:block;
}
.news-archive__title { font-size:1.1rem !important; }



body.single-post main{
	overflow-x:visible;
}

.page__container{
	padding: 1.0rem 1.0rem;
	width:900px;
	max-width:100%;
	margin:0 auto;
}

body.single-post .page__title{
	font-family: "Crimson Text", serif;
	text-transform:uppercase;
	letter-spacing:0.15em;
	text-align:left;
	position:relative;
	color:#357e7b;
	font-size:1.75rem;
	font-weight:500;
	margin:0 0 2.5rem;
}


body.single-post .page__title:before{
	content:'';
	height:2px;
	width:100vw;
	background-color:#357e7b;
	position:absolute;
	display:block;
	left:calc(-100vw - 1.25rem);
	top:1.25rem;

}


body.single-post .post__header{
	margin:0 0 1.5rem;
}

body.single-post .post__header .post__category{
	color:#357e7b;
	border:1px solid #357e7b;
	padding:0.15rem 1.5rem;
	border-radius:0.25rem;
	line-height:1;
	margin:0 2rem 0 0 ;
}

body.single-post .post__header .post__date{
	color:#357e7b;
}

body.single-post .post__title{
	margin:0 0 2.5rem;
	font-size:1.5rem;
}
	


.news-detail__button-back{
	text-align:center;
	margin:2.5rem 0 3.5rem;
}

.news-detail__button-back a{
	display:inline-block;
	border:1px solid #357e7b;
	background-color:transpanret;
	color:#357e7b;
	padding:0.5rem 4.5rem;
	font-family: "Crimson Text", serif;
	border-radius:100vh;
	line-height:1;
	position:relative;
	letter-spacing:0.1em;

}

.news-detail__button-back a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	left:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

.news-detail__button-back a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #357e7b;
	left:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(-45deg);
	transform-origin:0% 0%;
}


.news-archive .news__container{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}

.news-archive .news__item{
	margin:0 0 0.75rem;
}

.news-archive .news__item-date{
	color:#357e7b;
	display:inline-block;
	margin:0 0.75rem 0 0;
	font-size:1.32rem;
}


.news-archive .news__item-cat{
	color:#357e7b;
	border:1px solid #357e7b;
	border-radius:0.15rem;
	padding:0.45rem;
	text-align:center;
	width:7rem;
	display:inline-block;
	margin:0 0.75rem 0 0;
	line-height:1;
}

.news-archive .news__item-title{
	font-size:1.32rem;
}

@media screen and (max-width: 768px) {
	.news-archive{
		flex-wrap:wrap;
		flex-direction:column-reverse;
	}
	.news__body{
		width:100%;
		display:block;
	}
	.news__item-title{
		width:100%;
		display:block;
	}
	.news-archive__post{
		margin:0 0 1rem;
	}
	.news__nav{
		width:100%;
		padding:0;
	}
	.news__nav .inner{
		padding:0 1rem;
		border:0px;
	}
	.news__nav .inner .news-archive__years-list li{
		text-align:center;
	}
	.news__nav .inner .news-archive__years-list li span,
	.news__nav .inner .news-archive__years-list li a{
		border:1px solid #357e7b;
		border-radius:100vh;
		padding:1.0rem 3rem;
		text-align:center;
		width:260px;
		max-width:100%;
		display:inline-block;
	}
	
	h3.news-archive__title{
		font-size:0px!important;
		position:relative;
	}
	h3.news-archive__title:before{
		content:'過去の記事';
		text-align:center;
		display:block;
		font-size:1rem!important;
	}
	.news__nav .inner .news-archive__years-list{
		margin:1rem 0 0 0;
	}
	.news-archive .news__container{
		position:relative;
	}
	.news-archive .news__container:before{
		content:'NEWS';
		font-family: "Montserrat", sans-serif;
		display:block;
		position:absolute;
		top:-1rem;
		left:50%;
		transform:translate(-50% ,0);
		color:#357e7b;
		font-size:1.75rem;
		letter-spacing:0.1em;
	}
		.news-archive .news__container:after{
		content:'';
			width:3rem;
			height:2px;
			background-color:#357e7b;
			top:1.75rem;
		left:50%;
		transform:translate(-50% ,0);
			position:absolute;

	}
	body.single-post .page__title{
		text-align:center;
		font-family: "Montserrat", sans-serif;
		margin:0 0 4.5rem;
	}
	body.single-post .page__title:before{
		display: none;
	}
		body.single-post .page__title:after{
		content:"";
			width:3rem;
			height:2px;
			background-color:#357e7b;
			position:absolute;
			bottom:-0.5rem;
			left:50%;
			transform:translate(-50%,0);
;	}
}

/* ------------------------------------------------------------
 * Column
 * ------------------------------------------------------------ */

.column-archive{
	display:flex;
}

.column__nav{
	width:16rem;
	padding-right:3rem;
}
.column__nav .inner{
	border-right:1px solid #357e7b;
	position:sticky;
	top:9rem;
	padding:0 1.5rem 0 0;
}


.column__nav .inner .column-archive__title{
	font-family: "Montserrat", sans-serif;
	font-weight:bold;
	letter-spacing:0.1em;
	font-size:1.5rem;
	color:#357e7b;
	text-align:right;
}

.column__nav .inner .faq__title-ja{
	font-size:0.75rem;
	color:#357e7b;
}

.column__nav .inner .column-archive__years-list{
	margin:2.5rem 0 0 0;
	padding:0 0 2rem 0;
}

.column__nav .inner .column-archive__years-list li{
	text-align:right;
	padding:0.5rem 0;
}

.column__nav .inner .column-archive__years-list li a{
	color:#357e7b;
	display:block;
	
}


.column__body{
	width:calc(100% - 32rem);
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #dee5e5 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size:60px 60px;
	background-repeat: repeat;
	background-position: center center;
	background-color:#fff;
	padding:4.5rem 0;
	min-height:auto;
}

.column__body article{
	padding:0 2.5rem 4.5rem 2.5rem;
}



.column-archive__post-head,
.column-archive__title{
	color:#357e7b;
	font-size:1.75rem;
	margin:0 0 0.25rem;
}

.column-archive__date {
	font-size:0.85rem;	
	margin:0 0 1.25rem;
	display:block;
}
.column-archive__title { font-size:1.1rem !important; }







/* ざっくり体裁（必要ならテーマ側に移動） */
.l-archive-column .layout{display:grid;grid-template-columns:280px 1fr;gap:32px}
@media (max-width: 768px){
  .l-archive-column .layout{grid-template-columns:1fr}
}

aside.sidebar .inner{
	border-right:1px solid #357e7b;
	margin:0 1.5rem 0 0 ;
	padding:0 0 0.25rem 0;
}
.sidebar__title{
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	letter-spacing:0.1em;
	font-size:2.0rem;
	color:#357e7b;
	margin:0 0 1.5rem;
}
.sidebar__terms{
	list-style:disc;
	padding:0;margin:0 0 0 1.3em;
}


.sidebar__terms li::marker {
  color: #357e7b;
}
.sidebar__terms .term-item{margin:.25em 0}
.sidebar__terms .term-item a{
	color:#357e7b;
}
.sidebar__terms .term-item.is-active a{
	font-weight:700;
}
.archive-item{
	display:grid;
	grid-template-columns:42% 1fr;
	gap:16px;
	margin:24px 0;
	padding:0 0 24px;
}

@media (max-width: 640px){
  .archive-item{grid-template-columns:1fr}
}
.archive-item__thumb img{width:100%;height:auto;display:block;object-fit:cover}
.archive-item__title{
	margin:0 0 0.75rem;
	padding:0rem 0 0.75rem;
}

.archive-item__title a{
	color:#357e7b;
	font-size:1.5rem;
	font-weight:600;
}
.archive-item__date{
	display:inline-block;
	color:#666;
	font-size:.9em;
	margin:0 1.5rem 0.75rem 0;
}

.archive-item__modified{
	display:inline-block;
	color:#666;
	font-size:.9em;
	margin:0 0 0.75rem;
}

.archive-item__more a{text-decoration:underline}


.pagination{
	margin:24px 0
}


.pagination ul{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	list-style:none;
	padding:0
}

.pagination a,
.pagination span{
	display:flex;
	width:3rem;
	height:3rem;
	justify-content:center;
	align-items:center;
	border:1px solid #357e7b;
	border-radius:100vh;
		line-height:1;
	color:#357e7b;
}


.pagination .current{
	background:#357e7b;
	color:#fff;
}

.pagination .page-numbers{
	justify-content:center;
}

.pagination .page-numbers li .prev.page-numbers{
	background-image:url(images/common/icon__prev.svg);
	background-size:16px 16px;
	background-position:50% 50%;
	background-repeat:no-repeat;
	border:0px;
	line-height:1;
}

.pagination .page-numbers li .next.page-numbers{
	background-image:url(images/common/icon__next.svg);
	background-size:16px 16px;
	background-position:50% 50%;
	background-repeat:no-repeat;
	border:0px;
	line-height:1;
}


ul.archive-item__tags{
	display:flex;
	margin:0 0 0.5rem;
}

ul.archive-item__tags li{
	display:inline-block;
	border:1px solid #357e7b;
	color:#357e7b;
	border-radius:100vh;
	padding:0.25rem 2rem;
	font-size:0.85rem;
	line-height:1;
	margin:0 0.25rem 0 0;
}


body.single-column article{
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #dee5e5 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size:60px 60px;
	background-repeat: repeat;
	background-position: center center;
	background-color:#fff;
	padding:4.5rem 3.5rem;
	min-height:auto;
	margin:-4.5rem 0 0 0;
}

body.single-column .archive-item__title{
	color:#357e7b;
	font-size:1.5rem;
	font-weight:600;
	border-bottom:2px solid #357e7b;
}


body.single-column article h2{
	color:#357e7b;
	font-size:1.25rem;
	font-weight:600;
	margin:0 0 0.5rem;
}

body.single-column article p{
	margin:0 0 1.75rem;
}


body.single-column article figure{
	margin:0 0 1.75rem;
}

body.single-column .single-footer{
	background-color:#357e7b;
	padding:1.75rem;
	text-align:center;
	width:480px;
	max-width:100%;
	margin-right:auto;
	margin-left:auto;
}
body.single-column .single-footer .message{
	color:#eaece2;
	position:relative;
	font-size:1.25rem;
	margin:0 0 0.65rem;
}

body.single-column .single-footer .sns-share{
	display:flex;
	justify-content:center;
}

body.single-column .single-footer .sns-share a{
	margin:0 0.5rem;
}

.column__button-back{
	text-align:center;
	margin:2.5rem 0 3.5rem;
}

.column__button-back a{
	display:inline-block;
	border:1px solid #357e7b;
	background-color:#357e7b;
	color:#f6f4ec;
	padding:0.5rem 4.5rem;
	font-family: "Crimson Text", serif;
	border-radius:100vh;
	line-height:1;
	position:relative;
	letter-spacing:0.1em;

}

.column__button-back a:before{
	width:2rem;
	height:1px;
	content:'';
	background-color: #f6f4ec;
	left:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
}

.column__button-back a:after{
	width:0.35rem;
	height:1px;
	content:'';
	background-color: #f6f4ec;
	left:1rem;
	top:calc(50% - 1px);
	display:block;
	position:absolute;
	transform:rotate(-45deg);
	transform-origin:0% 0%;
}

@media screen and (max-width: 768px) {
	body.single-column .single-footer{
		width:100%;
	}
	body.single-column .single-footer .message{
		font-size:1rem;
	}
	body.single-column main.container{
		padding-right:0;
		padding-left:0;
	}
	body.single-column article{
		padding:12rem 1.5rem 4.5rem;
		margin-top:-9rem;
	}
	aside.sidebar .inner{
		padding:0;
		margin:0;
		border-right:0px;
	}
	.sidebar__terms{
		list-style:none;
		margin:0;
		display:flex;
		flex-wrap:wrap;
		gap:0.75rem;
	}
	.sidebar__terms li{
		width:calc(33.3333% - 0.5rem);
		border:1px solid #357e7b;
		padding:0.25rem;
		text-align:center;
		font-size:0.8rem;
	}
	body.single-column .sidebar__terms{
		display:none;
	}

	body.post-type-archive-column .sidebar__title{
		text-align:center;
		position:relative;
	}
	body.post-type-archive-column .sidebar__title:after{
		content:'';
		width:3rem;
		height:2px;
		background-color:#357e7b;
		left:50%;
		transform:translate(-50% ,0);
		bottom:0rem;
		display:block;
		position:absolute;
	}

	body.single-column .sidebar__title{
		position:absolute;
		left:50%;
		transform:translate(-50% ,0);
	}
	body.single-column .sidebar__title:after{
		content:'';
		width:3rem;
		height:2px;
		background-color:#357e7b;
		left:50%;
		transform:translate(-50% ,0);
		bottom:0rem;
		display:block;
		position:absolute;
	}
}

/* --------------------------------------------------
 * 関連記事
 * --------------------------------------------------*/

section.column__related h3{
	text-align:center;
	color:#357e7b;
	margin:0 0 1.5rem;
}

section.column__related .archive-item {
    display: grid;
    grid-template-columns: calc(50% - 8px) 1fr;
}

body.single-column  section.column__related .archive-item__title{
	border-bottom:0px;
}

/* --------------------------------------------------
 * コラム カテゴリー非表示
 * --------------------------------------------------*/
.sidebar__terms{
display:none;
}