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

:root {
	--main-color:/*#305BA9*/#0071bc;
	--light-color:#e7f0f7;
	--black:#333;
	--btn-color:/*#e83c2e#b09644*/#0071bc;
}

*, :after, :before {
  border-style: solid;
  border-width: 0;
  box-sizing: border-box
}
html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
}
body {
  margin: 0
}
main {
  display: block
}
address, blockquote, dl, figure, form, iframe, p, pre, table {
  margin: 0
}
h1, h2, h3, h4, h5, h6 {
  /* font-size:inherit;
	font-weight:inherit; */
  font-weight: 500;
  margin: 0
}
ol, ul {
  list-style: none;
  margin: 0;
  padding: 0
}
dd {
  margin-left: 0
}
hr {
  border-top-width: 1px;
  box-sizing: content-box;
  clear: both;
  color: inherit;
  height: 0;
  margin: 0;
  overflow: visible
}
pre {
  font-family: monospace, monospace;
  font-size: inherit
}
address {
  font-style: inherit
}
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none
}
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}
b, strong {
  font-weight: bolder
}
code, kbd, samp {
  font-family: monospace, monospace;
  font-size: inherit
}
small {
  font-size: 70%
}
.red {
  color: #e83c2e;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
embed, iframe, img, object, svg {
  vertical-align: bottom
}
button, input, optgroup, textarea {
  appearance: none;
  background: transparent;
  border-radius: 0;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
  text-align: inherit;
  text-transform: inherit;
  vertical-align: middle
}
[type=checkbox] {
  appearance: checkbox
}
[type=radio] {
  appearance: radio
}
[type=button], [type=reset], [type=submit], button {
  cursor: pointer
}
[type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled, button:disabled {
  cursor: default
}
:-moz-focusring {
  outline: auto
}
select:disabled {
  opacity: inherit
}
fieldset, option {
  padding: 0
}
fieldset {
  margin: 0;
  min-width: 0
}
legend {
  padding: 0
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
label[for] {
  cursor: pointer
}
details {
  display: block
}
summary {
  display: list-item
}
[contenteditable]:focus {
  outline: auto
}
table {
  border-color: inherit
}
caption {
  text-align: left
}
td, th {
  padding: 0;
  /* vertical-align:top */
}
th {
  font-weight: 700;
  text-align: left
}
html {
  -webkit-tap-highlight-color: transparent;
  font-size: 62.5%;
  height: 100%
}
body {
  background: white;
  color: var(--main-color);
font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
  font-size: 1.4rem;
  line-height: 1.5;
}
* {
  box-sizing: border-box
}
img {max-width: 100%;height: auto;}
@media (max-width:834px){
	p {
		line-height: 2;
	}
}

/* ---------------------------------- Layout 
*/
.l-inner {
  max-width: 1200px;
  width: 90%;
  margin: auto;
}

header {
background: linear-gradient(to bottom, white, transparent );
}

footer {
	padding: 64px 2.7% 0;
	background: var(--main-color);
	color:#fff;
}
@media (max-width:834px){
	footer {
	padding: 32px 2.7% 0;
	}
}
/* ---------------------------------- Header 
*/
.l-hedaer {
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.7%;
  position:fixed;
	top:0;
	z-index: 999
}
.l-headerNav__wrap {
	display: flex;
}
.l-header__nav {
	display: flex;
	flex-flow: row;
	align-items: center;
	height: 100%;	
}
.l-header__nav li{
	margin-right: 2em;
}

#menu-trigger  {
	display: none;
  z-index: 1000;
  cursor: pointer;
  height: 31px;
  justify-content: flex-end;
  margin-left: 0px;
  position: absolute;
	left:10px;
  width: 30px;	
/*	background: #ccc;*/
}


@media (max-width:834px){
	html.nav__open {
    overflow: hidden;
}	
	body.nav__open {
    overflow: hidden;
}
	.l-hedaer {
		height: 60px;
  		padding: 0 4%;		
	}
	.l-hedaer h1 {font-size: 4vw; margin-left: 40px; line-height: 1;}
	.l-hedaer h1 img {width:50vw;}
	.l-headernav__wrap{
	display: none;
    position: fixed;
    left: 0;
    top: 0;
/*    z-index: 999;*/
    background-color: #fff;	
	height: 100vh;
	width:100vw;	
	}
	
	.l-header__nav {
		flex-flow: column;
		align-items: center;
		overflow-y: scroll;
	}
	
	.l-header__nav li{
		margin-right: 0;
		font-size: 4vw;
		margin-bottom: 2em;
	}
	#menu-trigger{
		display: block;
	}	
#menu-trigger span {
  background: var(--main-color);
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;	
}
#menu-trigger span:nth-child(1) {
   /* top: 18px; */
   top: 30%;
	transition: 0.3s ease all
}
#menu-trigger span:nth-child(2) {
   /* bottom: 18px; */
   top: 50%;
	transition: 0.3s ease all	
}
#menu-trigger span:nth-child(3) {
   /* bottom: 18px; */
   top: 70%;
	transition: 0.3s ease all	
}	
	
body.nav__open .l-headernav__wrap{
	display: flex;	
	justify-content: center;
	padding-top: 80px;
	}
body.nav__open #menu-trigger span:nth-child(1) {
    transform: translateY(7px) rotateZ(45deg);
/*    background: #EFEBE6;*/
}
body.nav__open #menu-trigger span:nth-child(2) {
	display: none;
	}
body.nav__open #menu-trigger span:nth-child(3) {
    transform: translateY(-5px) rotateZ(-45deg);
/*    background: #EFEBE6;*/
}	
	
}

/* ---------------------------------- Footer
*/
.l-footer__inr {
	display: flex;
	justify-content: space-around;
	margin-bottom: 40px
	
}
.l-footer__logo {
	flex-shrink: 0;
	margin-right: 5%;
}
.l-footer__info {
	width: 40%;
/*	border:1px solid #f00;*/
}
.l-footer__nav ul li {
	margin-bottom: 10px
}
@media (max-width:834px){
	.l-footer__inr {
		display: flex;
		flex-flow: column;
		width: 90%;
		margin: auto
	}
	.l-footer__nav{
		order: 1;
		margin-bottom: 20px
	}
	.l-footer__info {
		width:100%;
		order: 3;
		margin-bottom: 20px;
		text-align: center
	}
	.l-footer__logo {
		width: 100%;
		order: 2;
		margin-bottom: 20px;
		text-align: center
	}
	.l-footer__logo img {
		width:70vw
	}
}

/* ---------------------------------- Main Visual
*/
    .img-frame{
       position: relative;
/*
       width: 70%;
       height: 300px;
*/
       overflow: hidden;
       margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
    }

    .img-frame{
       width: 100%;
       height: 100svh;
    }
/*
    .img-01, .img-02, .img-03{
       position: absolute;
       top:0;
       left:0;
       width: 100%;
       height: 100%;
       background-size: cover;
       background-repeat: no-repeat;
		background-position: center;
    }
*/
/*
.img-01 {
    background-image: url('../img/mv_img.jpg');
    animation: slide-animation-01 12s infinite;
}
.img-02 {
    background-image: url('../img/mv_img3.jpg');
    animation: slide-animation-02 12s infinite;
}
.img-03 {
    background-image: url('../img/mv_img2.jpg');
    animation: slide-animation-03 12s infinite;
}
*/

/*
@keyframes slide-animation-01 {
        0% {opacity: 1;}
      30% {opacity: 1;}
      40% {opacity: 0;}
      90% {opacity: 0}
    100% {opacity: 1;}
    }
    @keyframes slide-animation-02 {
        0% {opacity: 0;}
      30% {opacity: 0;}
      40% {opacity: 1;}
      60% {opacity: 1;}
      70% {opacity: 0;}
    100% {opacity: 0;}
    }
    @keyframes slide-animation-03 {
        0% {opacity: 0;}
      60% {opacity: 0;}
      70% {opacity: 1;}
      90% {opacity: 1;}
    100% {opacity: 0;}
    }
*/

.img-01,.img-02,.img-03 {
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background: center center no-repeat;
	background-size: cover;
  z-index: 0;
  /* 追記 */
  opacity: 0;
  animation-name: anime;
  animation-duration: 18s;
  animation-iteration-count: infinite;
/*transform: scale(1.0);*/}
.img-01 {
    background-image: url('../img/mv_img2_2.jpg');
}
.img-02 {
    background-image: url('../img/mv_img2.jpg');
animation-delay: 6s;
}
.img-03 {
    background-image: url('../img/mv_img3.jpg');
animation-delay: 12s;
}
@keyframes anime {
  0%{
    opacity: 0;
  }
  20%{
    opacity: 1;
  }
  60%/*80*/{
    opacity: 0;
    transform: scale(1.3);
  }
  100%{
    opacity: 0;
    z-index: -1;
  }
}
/*
.l-main__copy {
	position: absolute;
	z-index: 999;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	color:#fff;
	font-size: min(6vw,3.4rem)
}
*/
.l-main__copy {
    width: 45%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	color:#fff;
	font-size: min(6vw,3.4rem);
	text-align: center;
	filter: drop-shadow(4px 4px 16px rgba(0, 133, 188, 1));
}
@media (max-width:834px){
	.l-main__copy {
		width: 80%;
	}
}

/* ---------------------------------- Title 
*/
.c-ttl__sub {
	font-family: "Cinzel", serif;
  font-size: 54px;
  text-align: center;
  margin-bottom: 40px;
  color:var(--main-color);
  font-weight: 400;
}
.c-ttl__sub small,
.c-ttl__jp small{
	display: block;
	font-weight: normal;
	font-size: min(3vw,1.4rem);
}
.c-ttl__jp {
  font-size: min(6vw,42px);
  text-align: center;
  margin-bottom: 40px;
  color:var(--main-color);
  font-weight: 400;
	margin-top: 40px
}
@media (max-width:834px){
	.c-ttl__sub {
		font-size: 6.763285024154589vw
	}
}

/* ---------------------------------- Button 
*/
.c-btn {
	border-radius:8px;
	font-size:1.7rem;
	height: 34px;
	padding: 7px 14px;
	display: inline-flex;
	justify-content: center;
	align-items: center
}
.c-reserve {
	background:var(--btn-color);
	color: #fff;
}

.l-header__reserve {
	font-weight: bold;
	letter-spacing: 0.1em
}

.l-lineup__reserve {
	text-align: center;
}
.l-lineup__reserve .c-btn{
	font-size: min(6vw,3rem);
	border-radius:16px;
	width: 60%;
	height: 64px;
	padding: 7px 14px !important;
}


@media (max-width:834px){
	.c-btn {
		font-size: 4.1062801932367154vw
	}
	.l-lineup__reserve .c-btn{
		width: 100%;
		height: 48px;
		border-radius:8px;
	}
	.u-sp .c-btn {
		width:80vw;
	}
	
}

/* ---------------------------------- Utility
*/

.u-center {
	text-align: center;
}
.u-left {
	text-align: left;
}
.u-right {
	text-align: right;
}

/* ---------------------------------- About 
*/
.l-section {
	padding: 80px 0;
	overflow: hidden;
}
@media (max-width:834px){
.l-section {
	padding: 40px 0;
}	
}

#about {
	background: var(--light-color);
}

.l-concept__wrap {
	display: flex;
	flex-flow: row;
	align-items: center
}
.l-concept__img {
	width:100vw;
	margin-left: calc(50% - 50vw);
}
.l-concept__txt {
	font-size: min(3.6vw,1.6rem);
	padding: 0 0 0 60px;
	width:100%;
}
@media (max-width:834px){
	.l-concept__wrap {
		display: block;
	}
	.l-concept__txt {
		padding: 0;
		margin-top: 40px;
		line-height: 2;
	}
}

/* ---------------------------------- LineUp
*/
.l-lineup__list {
	display: flex;
	flex-flow: row wrap;
}
.l-lineup__list li {
	width:48%;
	margin-bottom: 80px;
	margin-right: 4%;
	display: flex;
	flex-flow: column;
	background: #fff;
/*filter: drop-shadow(0px 0px 3px rgba(0,113,188,0.3));*/
	box-shadow: rgba(0, 113, 188, 0.15) 0px 8px 24px 0px;
	position: relative;
	overflow: hidden
}
.l-lineup__list li:nth-child(2n) {
	margin-right: 0;
}
/*
.l-lineup__list li {
	width:32%;
	margin-bottom: 80px;
	margin-right: 2%;
	display: flex;
	flex-flow: column;
}
.l-lineup__list li:nth-child(3n) {
	margin-right: 0;
}
*/
/*
.l-lineup__list li::after {
	position: absolute;
	content: "OPEN CAMPAIGN";
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px 40px;
	background: #e60012;
	color: #fff;
	transform: rotate(-35deg);
	left:-7.7%;
	top:3.1%;
	font-size: min(3.6vw,1.8rem);
}
*/
@media (max-width:834px){
/*
	.l-lineup__list li::after {
			top:3.5%;
	}
*/
}
.c-car {
	margin-bottom: 10px;
/*	border:1px solid #ccc;*/
}
.c-ttl__carname {
	  font-size: min(5.4vw,2.4rem);
	margin-bottom: 20px;
	padding: 0 40px;
}
/*
.c-ttl__price {
	margin-top: 40px;
	margin-bottom: 8px;
	color: #fff;
	background: var(--main-color);
	padding: 2px 7px;
	display: inline-block;
	font-size: 1.2rem
}
*/
.c-ttl__price {
	margin-top: 40px;
	margin-bottom: 8px;
	border:1px solid var(--main-color);
	color: var(--main-color);
	padding: 2px 7px;
	display: inline-block;
	font-size: 1.2rem
}
.l-lineup__price {
	margin-top: auto;
	padding: 0 40px 40px;
	display: flex;
	justify-content: space-between;
	align-items:flex-end
}
.l-lineup__price .c-btn.c-reserve{
	width: 160px
}

.c-lineup__txt{
	line-height: 2;
	padding: 0 40px;
}
.c-price {
	font-size: min(7vw,3.4rem);
	line-height: 1.2;
}
.c-price small {
	font-size: 50%;
}
.c-price-s {
	font-size: 2rem;
	line-height: 1.2;
}
/*
@media (max-width:834px){
	.l-lineup__list li {
		width:48%;
		margin-right: 2%;
		margin-bottom: 40px;
	}
	.l-lineup__list li:nth-child(2n) {	
		margin-right: 0;		
	}	
	.l-lineup__list li:nth-child(3n) {
		margin-right: 2%;
	}
	.l-lineup__list li p {
		line-height: 1.7;
	}

}
*/
@media (max-width:834px){
	.l-lineup__list li {
		width:100%;
		margin-right: 0%;
		margin-bottom: 60px;
	}
	.l-lineup__list li:nth-child(2n) {	
		margin-right: 0;		
	}	
	.l-lineup__list li:nth-child(3n) {
		margin-right: 0;
	}
	.l-lineup__list li p {
		line-height: 1.7;
	}
.c-ttl__carname {
	padding: 0 20px;
}	
	.c-car {
		margin-bottom: 0px;}
	.c-lineup__txt {
	font-size: 3.4vw;
			padding: 0 20px;
	}
.l-lineup__price {
	padding: 0 20px 20px;
}	
	
}
@media (max-width:460px){
.l-lineup__price .c-btn.c-reserve{
	width: 120px
}	
}
/* ---------------------------------- Flow
*/
#flow {
	background: var(--light-color);
}
.l-flow__wrap dl {
	margin-bottom: 40px;
	display: flex;
	background: #fff;
	padding: 1em 2em
}
.l-flow__wrap dl dt {
	font-size: min(4.2vw,2.0rem);
	max-width:400px;
	width: 20%;
	margin-right: 4%;
	border-right:1px solid var(--main-color);
}
.l-flow__wrap dl dt span {
		font-family: "Cinzel", serif;
	font-size: 110%;
	margin-right: 0.5em
}
.l-flow__wrap dl dd {
	text-align: left;
	flex: 1;
	line-height: 2;
	display: flex;
	flex-flow: row;
	align-items: center
}
.flow-icon {
	width: 100px;
	flex-shrink: 0;
}

@media (max-width:834px){
	.l-flow__wrap dl {
		display: block;
	}
	.l-flow__wrap dl dt {
		max-width:none;
		width: 100%;
		text-align: center;
		margin-bottom: 1em;
		margin-right: 0;
		border-right: 0px solid var(--main-color); 
		border-bottom:1px solid var(--main-color);
	}
	.l-flow__wrap dl dd {
		font-size: 3.4vw;
		line-height: 1.7;
		flex-flow: column
	}
	.flow-icon {
		width: 100%;
		text-align: center
	}
}

/* ---------------------------------- FAQ
*/
.faq__tit {
	position: relative;
	border-bottom:1px solid #ccc;
	font-size: min(4vw,1.8rem);
	padding: 10px 2.4em 10px 2.4em;
	margin-top: 2px;
	margin-bottom: 10px;
}
.faq__tit:hover{cursor: pointer;}
.faq__tit::before {
	position: absolute;
	content: "Q.";
	display: flex; 
	justify-content: center; 
	font-size: min(5vw,2.4rem);
	left:0px;
	top:5px;
}
.faq__tit::after {
    content: '\f218';
    font-size: min(5vw,2.4rem);
    display: block;
    font-family: ionicons;
    position: absolute;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%);
    transform-origin: center;
    transition: 0.3s;
}
.faq__tit.on::after { 
    transform: translateY(-50%) rotate(-45deg);
}

.faq__answer {
	display: none; 
	padding: 1em 0.5em 1em 1em; 
	background: #f5f5f5; 
	border-radius: 8px; 
	width: 96%; 
	margin: 20px auto;
/*	font-size: 1.6rem; */

}
.faq__answer p {
	position: relative;
	padding-left: 2.5rem;
		line-height: 1.7;
}
.faq__answer p::before{
	position: absolute;
	content: "A.";
	display: block; 
/*	font-size: 2rem;*/
	font-weight: bold;
	left:0px;
	top:-0.1em;
}

.faq__list {
	margin-bottom: 20px
}

/* ---------------------------------- yakkan
*/
.c-yakkan {color:var(--black);}
.c-yakkan p {line-height: 1.5;}
.c-yakkan dl dt {
	font-size: 110%;
	margin-bottom: 0.5em
}
.c-yakkan dl dd{
	margin-left: 1em;
	margin-bottom: 1em
}
.danraku-2{
	margin-bottom: 1em;
}
.dan-1 {
	text-indent: -1em;
	padding-left: 1em;
}
.dan-2 {
	text-indent: -2em;
	padding-left: 2em;
}
.dan-3 {
	text-indent: -3em;
	padding-left: 3em;
}

/* ---------------------------------- Law
*/
.l-law__tab {
	margin: auto;
}
.l-law__tab th {
	padding: 1em 1em 1em 0;
			color: var(--main-color);
	border-bottom:1px solid var(--main-color);
}
.l-law__tab td {
	padding: 1em;	
	border-bottom:1px solid #ccc;	
}
@media (max-width:834px){
	.l-law__tab th,
	.l-law__tab td {
		display: block;
	}
	.l-law__tab th{
			padding: 0.5em 1em 0.3em 0;

	}
		.l-law__tab td {
			border-bottom:0px solid #ccc;
			padding: 0.5em 0 1em;
	}
}

/* ---------------------------------- Access
*/
#access {
	background: var(--light-color);
}
.map__wrap {
	max-width: 800px;
    width: 100%;
/*    height: 350px;*/
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
    aspect-ratio: 3 / 2;
}

.map {
    filter: grayscale(100%);
}

/* ---------------------------------- Utilty
*/

.u-mb1em {margin-bottom:1em}
.u-mb2em {margin-bottom:2em}
.u-mt40 {margin-top: 40px}
.u-mb10 {margin-bottom: 10px}
.u-mb20 {margin-bottom: 20px}
.u-mb40 {margin-bottom: 40px}
.u-sp {
	display: none;
}
.u-pc {
	display: block;
}
.u-aC {
	text-align: center
}
.u-aL {
	text-align: left
}
.u-aR {
	text-align: right
}
.u-sp__center {
	text-align: left
}
@media (max-width:834px){
  .u-sp {
      display: block;
  }
  .u-pc {
      display: none;
  }	
	.u-sp__center {
		text-align: center
	}
}

/* anime */
.dlay-1 {
		animation-delay: 1.0s;
}
.dlay-2 {
		animation-delay: 2.0s;
}
.dlay-4 {
		animation-delay: 4.0s;
}
.fadeInTrigger,
.fadeInUpTrigger,
.fadeInLeftTrigger{
	opacity: 0;
}
.fadeIn {
animation-name:fadeInAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
/*	transform: translateY(40px);*/
  }

  to {
    opacity: 1;
/*	transform: translateY(0);*/
  }
}

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(-80px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}


.fadeLeft {
animation-name:fadeLeftAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/* スクロールダウンの位置 */
.scroll {
  position: absolute;
	top:82svh;
  text-align: center;
	color:#fff;
}
/* 矢印のアニメーション部分 */
.scroll::before {
  animation: scroll 2s infinite;
  border-bottom: 1px solid var(--main-color);
  border-left: 1px solid var(--main-color);
  content: "";
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 30px;
  width: 20px;
}
/* 矢印のアニメーション */
@keyframes scroll {
  0% {
    opacity: 0;
    transform: rotate(-45deg) translate(0, 0);
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: rotate(-45deg) translate(-20px, 20px);
  }
  100% {
    opacity: 0;
  }
}
/* movie */
.visualMotion {
	position: relative;
	overflow: hidden;
}
.visualMotion::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 15;
	background: var(--light-color);
	transition: left 1s ease-in-out;
}
.visualMotion.is_inview::before {
	left: 100%;
}	

/* lang 2025-05-20 */
.lang-wrap {
	position: fixed;
	bottom:40px;
	right: 20px;
	background: #fff;
	box-shadow: 0px 1px 8px rgba(0,0,0,0.1)
}


.arrow svg {
  display: inline-block;
  transition: transform 0.4s ease;
  transform-origin: center center;
margin-left: 18px;
	margin-bottom: 5px
}

.lang-wrap.open .arrow svg {
  transform: rotate(180deg);
}



.custom-lang-select {
  position: relative;
  width: 100px;
  cursor: pointer;
  user-select: none;
}

.selected {
  border: 1px solid #ccc;
  padding: 5px 10px;
  background: white;
  display: flex;
  align-items: center;
/*  justify-content: space-between;*/
	color: #000;
}

.selected img {
/*
  width: 16px;
  height: 12px;
*/
  margin-right: 10px;
	border:1px solid #ccc
}

.dropdown {
  position: absolute;
bottom: 100%; /* ← ここがポイント */
  left: 0;
  width: 100%;
/*  border: 1px solid #ccc;*/
  background: white;
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  z-index: 10;
	color: #000
}

.dropdown li {
  padding: 5px 10px;
  display: flex;
flex-flow: row;
  align-items: center;
}

.dropdown li img {
/*
  width: 16px;
  height: 12px;
*/
  margin-right: 10px;
	border:1px solid #ccc	
}

.dropdown li:hover {
  background: #eee;
}

/* 2025-05-28 */

.open-camp {
/*	background: #e83c2e;*/
	color:#e83c2e;
	font-size: min(4vw,1.6rem);
	text-align: center;
	display: block;
	padding: 10px 20px;
	max-width: 340px;
	margin: 0 auto 10px;
	border:1px solid #e83c2e;
	position: relative;
}
.open-camp::after {
	position: absolute;
	right:-1.5em;
	top:50%;
	content: "";
	width:3em;
	height: 1px;
	background: #e83c2e;
}

