@charset "utf-8";

html {
	overflow-x: hidden;
}

#root {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    position: relative;
}

:root{
	--fontA: "Kiwi Maru", serif;
}

body {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto !important;
    width: 100%;
    -webkit-text-size-adjust: ('none' '100%' 'auto');
  	overflow-x: hidden;
    position: relative;
    letter-spacing: 0.05em;
  	background: url(/system_panel/uploads/images/body_bg.jpg) repeat-y center;
  	background-size: cover;
}

.telWrap {
    color: inherit;
}

.telWrap:hover {
    color: inherit;
    text-decoration: underline;
}

.hidden {
    overflow: hidden;
}

.opacity_hvr:hover {
    opacity: .7;
}

.cursol-pointer {
    cursor: pointer;
}

.fontA {
    font-family: var(--fontA);
    font-style: normal;
}

.inLink>a:hover {
    text-decoration: underline;
    color: #7B4039;
}

.paddingWr01 {
	padding: 0 15px;
}

.iconImg {
	display: block;
}

.iconImgHvr {
	display: none;
}

.inLink:hover .iconImg {
	display: none;
}

.inLink:hover .iconImgHvr {
	display: block;
}

.controlArea .carousel-item {
    display: block;
    opacity: 1;
}

.is-hidden {
    opacity: 0;
    visibility: hidden;
    transition: 0.5s !important;
}

.cmnIndicators01 {
    position: static;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 6px auto 0;
    transition: .3s all;
}

.hidden {
    overflow: hidden;
}

/*-- ****** -----------------------------------------------------------------*/

/*-- 共通パーツ --------------------------------------------------------------*/

/*-- タイトル・テキスト --*/

.msg01 {
    font-size: 20px;
    font-weight: 700;
  	letter-spacing: 0.05em;
    line-height: 1.45em;
}

.txt01 {
    font-size: 14px;
    line-height: 1.8em;
}

.txt02 {
    font-size: 14px;
    line-height: 1.6em;
}

.introTxtBox > .txt01 br {
	display: none;
}

/*---追加---*/

.titSetDecoFlex {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.titleLeftDeco01, .titleRightDeco01 {
    max-width: 86px;
    width: 10%;
}

.titSetListSet {
    text-align: center;
}

.enTit01, .enTit02 {
    font-family: var(--fontA);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.45em;
}

.jpTit01 {
    font-family: var(--fontA);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.46em;
}

.taxTit01 {
    font-family: var(--fontA);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.46em;
    text-align: center;
    margin-top: 8px;
}


/*-- ボタン --*/

.comBtn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.btnArrow {
  	max-width: 25px;
  	width: 20%;
	height: 25px;
}

.btn01 {
    padding: 21px 15px 23px;
    font-family: var(--fontA);
    font-weight: 500;
    font-size: 14px;
  	border-radius: 20px;
    transition: all .5s;
}

.btn01L, .btn01S {
    max-width: 341px;
}

.btn01Red {
    color: #fff;
    background: #F34F42;
}

.btn01Red .btnArrow {
  	background: url(/system_panel/uploads/images/btn_arrow_white.svg) no-repeat center;
  	background-size: cover;
}

.btn01Red:hover {
    color: #fff;
    background: #7B4039;
}

.btn01Yellow {
    color: #7B4039;
    background: #FBD682;
    outline: 2px solid #FBD682;
	outline-offset : -2px; 
}

.btn01Yellow .btnArrow {
  	background: url(/system_panel/uploads/images/btn_arrow_brown.svg) no-repeat center;
  	background-size: cover;
}

.btn01Yellow:hover {
    color: #7B4039;
    background: #fff;
    transition: all .5s;
}

.btn02, .backBtn {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 320px;
    width: 100%;
    justify-content: center;
    padding: 13px 40px 16px;
    font-size: 16px;
    font-weight: 500;
    color: #7B4039;
    background: #FBD682;
    border: 2px solid #FBD682;
    border-radius: 20px;
    cursor: pointer;
    transition: all .5s;
}

.btn02:hover, .backBtn:hover {
    background: #fff;
    color: #7B4039;
    transition: all .5s;
}

/*-- 共通カラー --------------------------------------------------------------*/

.colorWhite {
    color: #fff;
}
  

.colorGray {
	color: #E6E6E5;
}

.colorDark01 {
	color: #010824;
}

.colorDark01 {
	color: #383838;
}

.colorDark02 {
	color: #091441;
}

.colorLight01 {
    color: #BC7A18;
}

.bgWhite {
	background: #fff;
}

.bgGray {
	background: #E6E6E5;
}

.bgDark01 {
	background: #091441;
}

.maskDark {
	position: relative;
}

.maskDark:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
  	top: 0;
    left: 0;
    bottom: 0;
  	margin: auto;
	background: rgba(9,20,65,0.3);
}

.fukidashi{
  position: relative;
}

.fukidashi::before {
  content: "";
  position: absolute;
  bottom: 20%;
  left: 50%;
  border-style: solid;
  border-width: 35px 18px 0 18px;
  border-color: #fff transparent transparent;
  translate: -50% 100%;
}

.fukidashi::after {
  content: "";
  position: absolute;
  bottom: 20%;
  left: 50%;
  border-style: solid;
  border-width: 30.6px 15.8px 0 15.8px;
  border-color: #fff transparent transparent;
  translate: -50% 100%;
}

/*-- inCover -----------------------------------------------------------------*/

.incover {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto 0 auto;
    padding: 0 15px 0 15px;
  	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.incover:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background: rgba(9,20,65,0.3);
}

.incoverBox {
	width: 100%;
	max-width: 100%;
	height: 250px;
	position: relative;
    padding: 60px 0 0;
	display: flex;
  	flex-direction: column;
	align-items: center;
	justify-content: center;
    position: relative;
    z-index: 1;
}

.incoverEnTit {
    font-size: 35px;
}

.incoverJpTit {
    font-size: 16px;
}

/*-- ****** -----------------------------------------------------------------*/

/*-- パンくずリスト ----------------------------------------------------------*/

.pankuzuWr {
    margin: 0 auto;
    max-width: 1920px;
    width: 100%;
    padding: 0 15px;
}

.pankuzuAr {
    margin: 0 auto;
    padding: 15px 0;
    max-width: 1140px;
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: 500;
}

.pankuzuCt {
    font-size: 14px;
    display: flex;
    align-items: center;
    color: #333;
}

.pankuzuCt:hover {
    color: #333;
}

.pankuzuTxt {
    padding: 0 0 2px;
    font-size: 14px;
    color: #333;
}

.pankuzuCt > p {
    padding: 0 0 3px;
    text-decoration: none;
}

.pankuzuCt:hover > p {
    text-decoration: underline;
}

/*-- ブロック ----------------------------------------------------------*/

.pankuzuWr + .inWrap {
    padding: 40px 0 70px;
}

.inWrap {
    padding: 70px 0;
}

.inner {
    max-width: 1140px;
    width: 100%;
    margin: auto;
    padding: 0 15px;
    min-height: 20px;
}

/*----kasou------------------------------------------------*/

/*---画像制御--*/

/*.inBalanceImg01>img {
    justify-content: center;
    align-items: center;
    position: absolute;
    display: flex;
    top: 0;
    right: 0;
    max-height: 100%;
    height: auto;
    max-width: 100%;
    width: auto;
    bottom: 0;
    left: 0;
    margin: auto;
}

.objectFitImg {
    justify-content: center;
    align-items: center;
    position: absolute;
    display: flex;
    top: 0;
    right: 0;
    max-height: 100%;
    height: 100%;
    max-width: 100%;
    width: 100%;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}*/

/*---gallery　lightbox--*/

a[data-lightbox] {
    position: relative;
    display: block;
}

a[data-lightbox]:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255,255,255,0.3);
    opacity: 0;
    transition: .5s;
}

a[data-lightbox]:hover:before {
    opacity: 1;
    transition: .5s;
}

.galleryImg01>a[data-lightbox] {
    padding-top: 100%;
}

.galleryImg01>a[data-lightbox] img {
    max-height: 100%;
    height: 100%;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/*---form--*/

.formTable {
  	border: 1px solid #7B4039;
}

.formTh {
    padding: 15px 15px 15px 15px;
    background-color: #7B4039;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
  	border-bottom: 1px solid #fff;
}

.formRow:last-child .formTh {
  	border-bottom: none;
}

.formTd {
    padding: 15px 15px 15px 15px;
    background: #fff;
    color: #7B4039;
  	border-bottom: 1px solid #7B4039;
}

.formRow:last-child .formTd {
  	border-bottom: none;
}

.formTable {
    font-size: 14px;
}

.requiredText {
    padding: 1px 4px 1px 4px;
    color: #F34F42;
    font-size: 14px;
    background-color: #fff;
}

.privacyBox {
    border: 1px solid #ccc;
    padding: 15px 2% 15px 2%;
    width: 100%;
    overflow-y: scroll;
    background: #fff;
    height: 250px;
}

.formBtn {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 320px;
    width: 100%;
    justify-content: center;
    padding: 13px 40px 16px;
    font-size: 16px;
    font-weight: 500;
    color: #7B4039;
    background: #FBD682;
    border: 2px solid #FBD682;
    border-radius: 20px;
    cursor: pointer;
    transition: all .5s;
}

.formBtn:hover {
    background: #fff;
    transition: all .5s;
}

.privacyDt {
    border-left: 5px solid #F34F42;
    border-bottom: 1px solid #F34F42;
    padding: 0 0 3px 10px;
    font-weight: 700;
    margin: 31px 0 0 0;
    letter-spacing: 0.15em;
    color: #F34F42;
}

.privacyDd {
    padding: 0 0 0 16px;
    margin: 23px 0 0 0;
    letter-spacing: 0.05em;
}

.privacyLink a {
	text-decoration: underline;
}

.privacyLink a:hover {
	text-decoration: none;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:375px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.enTit01, .enTit02 {
    font-size: 25px;
}
  
.jpTit01 {
    font-size: 16px;
}

.titSetDecoFlex {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 375px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:414px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:544px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.enTit01, .enTit02 {
    font-size: 32px;
}
  
.titleLeftDeco01, .titleRightDeco01 {
    width: 7.5%;
}
  
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 544px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.enTit01, .enTit02 {
    font-size: 40px;
}
  
.jpTit01 {
    font-size: 18px;
}
  
.taxTit01 {
    font-size: 18px;
}
  
.introTxtBox > .txt01 br {
	display: block;
}

  
/*-- ボタン --*/
  
.btn01 {
	padding: 21px 20px 23px;
	font-size: 16px;
}
  

.fukidashi::before, .fukidashi::after {
	left: 18%;
}
  
  
/*-- incover ----------------------------------------------------------*/

.incoverBox {
    padding: 30px 0 0;
}
  
.incoverEnTit {
    font-size: 50px;
}

.incoverJpTit {
    font-size: 18px;
}
  
/*-- ブロック ----------------------------------------------------------*/

.pankuzuWr + .inWrap {
    padding: 80px 0 100px;
}

.inWrap {
    padding: 100px 0;
}

.formTable {
    font-size: 16px;
}
  
.formTh {
    text-align: center;
}
  
.formWrap .formTh {
    text-align: left;
}

.formTh,
.formTd{
    padding: 15px;
}

.formTh{
    text-align: center;
}

.privacyLabel {
    font-size: 16px;
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:992px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
.titleLeftDeco01, .titleRightDeco01 {
    width: 5.5%;
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 992px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

  
/*-- タイトル・テキスト --*/
  
.jpTit02 {
	font-size: 32px;
}
 
.enTit01, .enTit02 {
	font-size: 56px;
}
  
.titleLeftDeco01, .titleRightDeco01 {
    width: 6.5%;
}

.txt01 {
	font-size: 16px;
}

.txt02 {
	font-size: 16px;
}
  
.msg01 {
    font-size: 30px;
}
  
.inMsgTit01 br {
	display: none;   
}
  
/*-- ボタン --*/
  
.btn01 {
	padding: 21px 10px 23px;
	font-size: 14px;
}
  
.btn01S{
    max-width: 240px;
}
  
/*-- incover ----------------------------------------------------------*/

.incoverEnTit {
    font-size: 60px;
}
  
/*-- ブロック ----------------------------------------------------------*/

.pankuzuWr + .inWrap {
    padding: 80px 0 150px;
}

.inWrap {
    padding: 150px 0 150px 0;
}

.imgGrid {
    grid-template-columns: repeat(3, 1fr);
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1250px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
/*-- タイトル・テキスト --*/
  
.enTit01, .enTit02 {
    font-size: 64px;
}

.jpTit01 {
    font-size: 24px;
}
  
.taxTit01 {
    font-size: 24px;
}

.jpTit02 {
    font-size: 35px;
}
  
.txt01 {
    font-size: 17px;
}

.msg01 {
    font-size: 40px;
}
  
.titSetDecoFlex {
    gap: 35px;
}
  
.titleLeftDeco01 {
    max-width: 86px;
    width: 25%;
}

.titleRightDeco01 {
    max-width: 86px;
    width: 25%;
}
  
/*-- ボタン --*/
  
.btn01 {
	padding: 21px 15px 23px;
	font-size: 16px;
}
  
/*-- incover ----------------------------------------------------------*/
  
.incoverWr {
    height: 400px;
}

.incoverEnTit {
    font-size: 80px;
}
  
.incoverBox {
    padding: 0px 0 0;
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1250px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1440px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
/*-- タイトル・テキスト --*/
  
.enTit02 {
    font-size: 72px;
}
  
.txt01 {
    font-size: 18px;
}
  
/*-- ボタン --*/
  
.btn01 {
    padding: 21px 35px 23px;
    font-size: 18px;
}

  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1440px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

.img-fit__add{
object-fit: cover;
}
.img-fit-bottom__add{
object-position: 16% center;
}
@media screen and ( max-width:1023px ){
.z-index-10000{
  z-index: 10000;
}
}

@media screen and ( max-width:1023px ){
.spMenu__add{
z-index: 9999!important;
}
}

