@charset "UTF-8";

/* ==========================================================================
Foundation
========================================================================== */
/* Reset
----------------------------------------------------------------- */

/* Root
----------------------------------------------------------------- */
@font-face {
	font-family: "Noto Sans";
	src: url("../font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") ;
}
@font-face {
	font-family: "Noto Serif";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Regular.otf") ;
}
@font-face {
	font-family: "Noto Serif Black";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Black.otf") ;
}
@font-face {
	font-family: "Noto Serif Bold";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Bold.otf") ;
}

:root {
  --ia-color-primary: #C1112E;
  --ia-color-secondary: #000000;
  --ia-color-tertiary: #FFF7EF;
}

/* Base
----------------------------------------------------------------- */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-family: "Noto Serif", serif;
  font-size: calc(1em * .625);
  color: #000;
}

body {
  font-family: "Noto Serif", serif;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .05em;

  /* コンテンツが足りないときにフッターを下に固定する */
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;
}
ul,
ol {
  padding-left: 0;
  text-indent: 0;
  list-style: none;
  word-wrap: break-word;
}
ul > li,
ol > li {
  padding-left: 1em;
  text-indent: -1em;
}
ol.list-decimal {
  list-style: decimal inside;
}
ol.list-lower-latin {
  list-style: lower-latin inside;
}
ol.list-lower-latin > li {
  padding-left: 1.25em;
  text-indent: -1.25em;
}
ol.list-attr > li::before {
  padding-right: .25em;
  content: attr(data-content);
}
ol.list-parentheses-decimal {
  counter-reset: parentheses-decimal-count;
}
ol.list-parentheses-decimal > li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
ol.list-parentheses-decimal > li::before {
  padding-right: .25em;
  content: '(' counter(parentheses-decimal-count) ')';
  counter-increment: parentheses-decimal-count;
}

dd {
  margin-bottom: 0;
}
img, video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  text-decoration: none;
}
a.hover-zoom img {
  transition-duration: 0.5s;
}
a.hover-zoom:hover img {
	-webkit-transform: scale(1.1);
  transform: scale(1.1);
  overflow: hidden;
}

.ff-sans {
	font-family: "Noto Sans", sans-serif;
}
.ff-serif {
	font-family: "Noto Serif", serif;
}
.ff-noto-serif-black {
	font-family: "Noto Serif Black", serif;
}
.ff-noto-serif-bold {
	font-family: "Noto Serif Bold", serif;
}
.ff-arial {
	font-family: "arial", sans-serif;
}

.tsh {
	text-shadow: 0px 0px 10px #0e050a;
}

.lh-1\.7 {
	line-height: 1.7;
}
.lh-2 {
	line-height: 2;
}
.lh-2\.4 {
	line-height: 2.4;
}

.ar-3-1 {
  aspect-ratio: 3 / 1;
}

.btn {
	width: 200px;
	max-width: 100%;
}

.link-opacity-50:active,
.link-opacity-50:hover,
.link-opacity-50:focus {
	opacity: .5;
}

/* Utility
----------------------------------------------------------------- */
/* ==========================================================================
Layout
========================================================================== */

/* Header
----------------------------------------------------------------- */
header {
	position:absolute;
	top:0;
	left:0;
	z-index:99;
	width:100%;
	height:100px;
	background: linear-gradient(to bottom,  rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	display:flex;
	justify-content: space-between;
}
header {
  height: 62px;
}
@media ( min-width: 768px ) {
	header {
		height: 65px;
	}
}

.navbar > .container, .navbar > .container-fluid, .navbar > .container-md, .navbar > .container-xl {
	justify-content: flex-start;
}

.site-title {
	word-break: keep-all;
}
.site-title img {
	max-height: 32px;
}
@media ( min-width: 768px ) {
	.site-title img {
	max-height: 68px;
	}
}

.header-banner {
	height: 45px;
}

.header-banner img {
	width: auto;
	height: 45px;
	margin-left: 2.4rem;
}

.drawer-hamburger {
	padding: 20px 20px 30px;
	width: 3.2rem;
	z-index: 9999;
}
.drawer-hamburger-icon, 
.drawer-hamburger-icon:after, 
.drawer-hamburger-icon:before {
    background: #fff;
}
.drawer-nav {
	background: var(--ia-color-secondary);
	z-index: 9998;
}
@media ( min-width: 768px ) {
	.drawer-nav {
	background: transparent;
	}
}
.drawer-menu li {
	padding:10px;
}
.navbar {
	height: 100%;
}
.navbar-toggler:focus {
	box-shadow: 0 0 0 0;
}
@media ( min-width: 768px ) {
	.navbar-expand-md .drawer-nav {
		position: static;
/*		width: 100%;*/
		width: auto;
	}
}
.navbar a {
	min-width: 44px;
	min-height: 44px;
}

/* Main
----------------------------------------------------------------- */

/* Footer
----------------------------------------------------------------- */
/* banner */
.banner {
	position: fixed;
	top: 120px;
	right: 0;
	z-index: 1000;
}
.banner_img {
	display: block;
	position: relative;
}
.banner_close {
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	position: absolute;
	top: 5px;
	right: 5px;
}
.banner_close:hover {
	background: rgba(255, 255, 255, .2);
	cursor: pointer;
}
.banner_close_icon {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
.banner_close_icon::before, .banner_close_icon::after {
	width: 1px;
	height: 16px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
}
.banner_close_icon::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.banner_close_icon::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* contact */
footer .menu-fnavcontact {
  margin-bottom: 0;
  font-size:  0;
}
footer .menu-fnavcontact > li {
  padding-left: 0;
  text-indent: 0;
}

footer .menu-fnavcontact > li > a span {
  padding-left: 1em;
  position: relative;
}
footer .menu-fnavcontact > li > a span::before {
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  position: absolute;
  top: 60%;
  left: 0;
  transform: translateY(-50%) rotate(45deg);
  content: '';
}

footer .menu-fnav > li > a {
  padding-left: 1em;
  position: relative;
  color: #fff;
}
footer .menu-fnav > li > a::before {
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  position: absolute;
  top: 60%;
  left: 0;
  transform: translateY(-50%) rotate(45deg);
  content: '';
}

footer .menu-fnavsns > li {
	padding-left: 0;
	text-indent: 0;
}

/* ==========================================================================
Object
========================================================================== */
/* Component
----------------------------------------------------------------- */
/* 見出し */
.design-h2 {
	margin-bottom: 1em;
	padding-bottom: 1em;
	width: 100%;
	display: block;
	border-bottom: 1px solid #ddd;
	position: relative;
	font-family: "Noto Serif Bold";
}
.design-h2:after {
  width: 20%;
  border-bottom: 1px solid var(--ia-color-primary);
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
}

/* Project
----------------------------------------------------------------- */
/* front-page */
.sect_front-page_catchcopy {
	height: 100vh;
	position: relative;
}
.sect_front-page_catchcopy .catchcopy_text {
	position: relative;
	font-family: "Noto Serif Black";
	line-height: 1.5;
	letter-spacing: .2rem;
}
.sect_front-page_catchcopy .catchcopy_text::after {
	width: 40px;
	height: 1px;
	background-color: #fff;
	display: inline-block;
	position: absolute;
	bottom: -3rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	content: '';
}
.sect_front-page_catchcopy .catchcopy_subtext {
	font-family: "Noto Sans", sans-serif;
	line-height: 2;
	letter-spacing: .14rem;
}

.sect_front-page_catchcopy .scrolldown {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sect_front-page_catchcopy .scrolldown span {
	position: absolute;
	left: 10px;
	bottom: 10px;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
.sect_front-page_catchcopy .scrolldown:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -4.5px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #eee;
	animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove {
	0% {
		bottom: 45px;
	}
	100% {
		bottom: -5px;
	}
}

@keyframes cirlemovehide {
	0% {
		opacity: 0
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}

.sect_front-page_catchcopy .scrolldown:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 50px;
	background: #eee;
}

.sect_front-page_about {
	min-height: 100vh;
	position:relative;
	background: linear-gradient(to bottom,  rgba(0,16,17,0) 0%,rgba(0,16,17,0.9) 80%,rgba(0,16,17,1) 100%);
}
.sect_front-page_about .about_title {
	position: relative;
	font-family: "Noto Serif Black";
	line-height: 1.5;
	letter-spacing: .1rem;
}
.sect_front-page_about .about_title::after {
	width: 1px;
	height: 20px;
	background-color: #fff;
	display: inline-block;
	position: absolute;
	bottom: -5rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	content: '';
}
.sect_front-page_about .about_lead {
	font-family: "Noto Serif Bold";
	line-height: 1.7;
	letter-spacing: 0.08em;
}
.sect_front-page_about .about_description {
	line-height: 1.85;
	letter-spacing: .03rem;
}
.sect_front-page_information {
	background: url('../img/front-page/front-page_content-information_bg.jpg');
	background-size: cover;
}
@media (min-width:768px) {
	.sect_front-page_category .category_item,
	.sect_front-page_information .information_item {
		height: calc( 100vw / 3 );
	}
}
.sect_front-page_category .category_type,
.sect_front-page_information .subtitle {
	position: relative;
}
.sect_front-page_category .category_type::after,
.sect_front-page_information .subtitle::after {
	width: 20px;
	height: 1px;
	background-color: #fff;
	display: inline-block;
	position: absolute;
	bottom: -1.25rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	content: '';
}
.sect_front-page_category .btn::after,
.sect_front-page_information .btn::after {
	margin-left: .25em;
	content: '→';
}

/* home */
.sect_home_map {
	width: 100%;
	height: 788px;
	padding-bottom: 50px;
}
.sect_home_map .map_canvas {
	width: 100%;
	height: 100%;
}

.sect_home_category .category_item:nth-of-type(odd) .inner {
	background-image: linear-gradient(to right, transparent 4.8rem, var(--ia-color-tertiary) 4.8rem, var(--ia-color-tertiary));
}
.sect_home_category .category_item:nth-of-type(even) .inner {
	background-image: linear-gradient(to left, transparent 4.8rem, var(--ia-color-tertiary) 4.8rem, var(--ia-color-tertiary));
}
@media (min-width:768px) {
	.sect_home_category .category_item:nth-of-type(odd) .inner {
		background-image: linear-gradient(to right, transparent calc(50% - min((100% / 12 * 3.2), 24rem)), var(--ia-color-tertiary) calc(50% - min((100% / 12 * 3.2), 24rem)), var(--ia-color-tertiary));
	}
	.sect_home_category .category_item:nth-of-type(even) .inner {
		background-image: linear-gradient(to left, transparent calc(50% - min((100% / 12 * 3.2), 24rem)), var(--ia-color-tertiary) calc(50% - min((100% / 12 * 3.2), 24rem)), var(--ia-color-tertiary));
	}
}

.sect_home_category .category_type {
	padding-left: calc(20px + 1em);
	position: relative;
}
.sect_home_category .category_type::before {
	width: 20px;
	height: 1px;
	background-color: var(--ia-color-primary);
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content: '';
}

.spot-list {
	display: block;
/*	margin: 0 auto 28px;*/
	-webkit-transition: all 0.5s cubic-bezier(0, 0.68, 0.81, 1);
	transition: all 0.5s cubic-bezier(0, 0.68, 0.81, 1);
	position: relative;
}

.sect_home_category .carousel-indicators {
	margin-top: 1rem;
	margin-bottom: 0;
	top: 100%;
	bottom: auto;
}
.sect_home_category .carousel-indicators [data-bs-target] {
	background-color: #000;
}

/* clause */
.page-clause {
	counter-reset: clause-article-count;
}
.page-clause .g-clause-articles > .wp-block-group {
	counter-increment: clause-article-count;
}
.page-clause .g-clause-articles > .wp-block-group ol.list-clause-decimal {
	counter-reset: clause-list-count;
}
.page-clause .g-clause-articles > .wp-block-group ol.list-clause-decimal > li::before {
	padding-right: .25em;
	font-weight: bold;
	counter-increment: clause-list-count;
}
.page-clause .g-clause-articles > .wp-block-group:nth-of-type(-n+9) ol.list-clause-decimal > li:nth-of-type(-n+9)::before {
	content: '0' counter(clause-article-count) ".0" counter(clause-list-count) ".";
}
.page-clause .g-clause-articles > .wp-block-group:nth-of-type(-n+9) ol.list-clause-decimal > li:nth-of-type(n+10)::before {
	content: '0' counter(clause-article-count) "." counter(clause-list-count) ".";
}
.page-clause .g-clause-articles > .wp-block-group:nth-of-type(n+10) ol.list-clause-decimal > li:nth-of-type(-n+9)::before {
	content: counter(clause-article-count) ".0" counter(clause-list-count) ".";
}
.page-clause .g-clause-articles > .wp-block-group:nth-of-type(n+10) ol.list-clause-decimal > li:nth-of-type(n+10)::before {
	content: counter(clause-article-count) "." counter(clause-list-count) ".";
}


#searchBox {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
input, select {
    color: #53565a;
    height: 40px;
    padding: 0 12px;
    font-size: 12px;
    letter-spacing: .05em;
    width: 100%;
    border-radius: 3px;
    border: 1px solid #ccc;
    font-weight: 700;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
}



/*

@media (min-width:768px) {
	#main {
		width: 1200px;
	}
	#sidebar {
		width: 0;
	}
	div.texts {
		width: 1170px;
	}
}
*/

/* faq */
.page-faq summary {
	margin: .25em 0;
	padding: .75em 3.5em .75em 3em;
	position: relative;
	list-style: none;
	cursor: pointer;
}
.page-faq summary::before {
	font-size: 1.5em;
	position: absolute;
	top: .125em;
	left: calc( 1em / 1.5 );
	content: 'Q';
}
.page-faq summary::after {
	width: 1em;
	height: 1em;
	border-right: 1px solid var(--ia-color-secondary);
	border-bottom: 1px solid var(--ia-color-secondary);
	position: absolute;
	top: .75em;
	right: 1.5em;
	content: '';
	transform: rotate(45deg);
}
.page-faq .accordion_body {
	padding: 0 1em;
	height: 0;
	display: block;
	position: relative;
	overflow: hidden;
	opacity: 0;
}
.page-faq details[open] > summary+.accordion_body {
	padding: 1em 3.5em 1em 3em;
	height: auto;
	opacity: 1;
}
.page-faq .accordion_body::before {
	font-size: 1.5em;
	position: absolute;
	top: .375em;
	left: calc( 1em / 1.5 );
	color: var(--ia-color-primary);
	content: 'A';
}

.searchbar_area {
	display: none;
}

.searchbar_area_sp {
	display: block;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #000;
	z-index: 1;
}

@media ( min-width: 768px ) {
	.searchbar_area {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: #000;
		z-index: 1;
	}
	
	.searchbar_area .container-xl {
		display: flex;
		align-items: stretch;
	}
	
	.searchbar_area .searchbar_title {
		width: 160px;
		background: #c1112e;
		color: #fff;
		text-align: center;
	}
	
	.searchbar_area .searchbar_title > span {
		display: block;
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}
	
	.searchbar_area .searchbar_content {
		width: calc(100% - 260px);
		padding: 0 20px;
	}
	
	.searchbar_area .searchbar_content #searchbar {
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}
	
	.searchbar_area .searchbar_content #searchbar .search-widget-search-container-bf1818 {
		background: transparent;
		padding: 5px 15px 5px;
	}
	
	.searchbar_area .searchbar_content #searchbar .input-container-input-container-da40af .input-container-title-db81ec {
		margin-bottom: 5px;
		color: #fff;
	}
	
	.searchbar_area .searchbar_content #searchbar .input-container-input-container-da40af {
		margin: 0 10px 5px 0;
	}
	
	.searchbar_area .searchbar_content #searchbar #tripla-hotel-picker-multiselect .multiselect__tags {
		background: #fff;
	}
	
	.searchbar_area .searchbar_logo {
		width: 100px;
		padding: 5px 20px 5px 0;
	}
	
	.searchbar_area .searchbar_logo img {
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}
	
	.searchbar_area_sp {
		display: none;
	}
}

.footer-content .bg-secondary {
	padding-bottom: 25px;
}

@media only screen and (max-width:1160px) {
	.footer-content .bg-secondary {
		padding-bottom: 90px;
	}
}

@media only screen and (max-width:1080px) {
	.footer-content .bg-secondary {
		padding-bottom: 220px;
	}
}

@media only screen and (max-width:992px) {
	.searchbar_area .searchbar_content {
		padding: 20px 0;
	}
	
	.footer-content .bg-secondary {
		padding-bottom: 260px;
	}
}

@media only screen and (max-width:767px) {
	.searchbar_area .container-xl {
		display: block;
		padding: 0;
	}
	
	.searchbar_area .searchbar_title {
		width: auto;
	}
	
	.searchbar_area .searchbar_title > span {
		top: 0;
		transform: translateY(0);
	}
	
	.searchbar_area .searchbar_content {
		width: auto;
	}
	
	.searchbar_area .searchbar_content #searchbar {
		top: 0;
		transform: translateY(0);
	}
	
	.searchbar_area .searchbar_logo {
		display: none;
	}
	
	.footer-content .bg-secondary {
		padding-bottom: 40px;
	}
}