@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;700&family=Hind:wght@300;500;700&family=Noto+Sans+JP:wght@300;500;700&family=Noto+Serif+JP:wght@300;500;700&display=swap');

/*************************************************************

Block__element–modifier

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

}
**************************************************************/

@-webkit-keyframes bodyfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}



* {
  margin: 0 auto;
}

a img {
border:0px;
}

p, ul, ol, dl {
    margin-top: 0;
    margin-bottom: 0;
}
ul, ol {
    padding-left: 0;
    list-style-type: none;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

body {
  font-family: 'Noto Sans JP', sans-serif,"Hiragino Kaku Gothic ProN","Roboto","Droid Sans","YuGothic","游ゴシック","Meiryo","メイリオ",Verdana,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 300;
  color: #2f2c2b;
  font-size: 14px;
    letter-spacing: .05em;
}

a:visited {
    color: #00a3d9;
    text-decoration: none;
}
 a:link {
    color: #00a3d9;
    text-decoration: none;
}




@media (min-width: 992px) {
	body,html {
	  font-size:16px
	}
}


/*************************************************************

*font-family:

**************************************************************/
.eng {
	font-family: 'Hind', sans-serif;
}
.mincho {
    font-family: 'Noto Serif JP', serif;
}
.eng_serif {
font-family: 'EB Garamond', serif;
}



/***************************************************************

parts

****************************************************************/

.nw {
    display: inline-block!important;
}
em {
  font-style: normal;
}

.of_visible {
    overflow: visible!important;
}
.no-click{
pointer-events: none;
}

hr {
    clear: both;
    border: none;
    margin: 0px 0;
}
hr.clear {
    clear: both;
    border: none;
    margin: 0px 0;
}
hr.hr-border {
  clear: both;
  border: none;
  color: #FFFFFF;
  margin: 15px 0;
  border-top: 1px #9E9E9E dotted;
}

.visible_pc {
	display: block !important;
}
.visible_sp {
	display: none !important;
}

.visible_pc_inline {
	display: inline-block !important;
}
.visible_sp_inline {
	display: none !important;
}

@media screen and (max-width: 736px) {
	.visible_pc {
		display: none !important;
	}
	.visible_sp {
		display: block !important;
	}
	.visible_pc_inline {
		display: none !important;
	}
	.visible_sp_inline {
		display: inline-block !important;
	}
	.overflowX_sp {
	    white-space: nowrap;
	    overflow-x: auto;
	    -webkit-overflow-scrolling: touch;
	}

}


/***************************************************************

img

****************************************************************/


img {
	vertical-align: top;
}

.img_responsive {
	max-width: 100%;
	width:auto!important;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
	_width: 100%;
}
img.hover{
}

.img-circle {
    border-radius: 1000px;
    -webkit-border-radius: 1000px;
    -moz-border-radius: 1000px;
}

.img-border {
    border: 4px #fff solid;
}
.img-shadow {
    box-shadow: 1px 1px 4px #999;
}

.img-round {
    border-radius:99999px;
}

.img-rotate-r {
    transform: rotate(-6deg);
    -moz-transform: rotate(-6deg);
    -webkit-transform: rotate(-6deg);
}

.img-rotate-l {
    transform: rotate(6deg);
    -moz-transform: rotate(6deg);
    -webkit-transform: rotate(6deg);
}

.img-notes {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 0.75rem;
    width: 99%;
    padding: 0.5%;
}

.base-img {
    width: auto;
    padding-top: 60%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    box-sizing: border-box;
    position: relative;
    background-color: #eee;
}

.base-img.base-img30{
  width: auto;
  padding-top: 30%;
}
.base-img.base-img40{
  width: auto;
  padding-top: 40%;
}

.base-img.base-img50{
  width: auto;
  padding-top: 50%;
}
.base-img.base-img60{
  width: auto;
  padding-top: 60%;
}

.base-img.base-img70{
  width: auto;
  padding-top: 70%;
}

.base-img.base-img80{
  width: auto;
  padding-top: 80%;
}
.base-img.base-img100{
  width: auto;
  padding-top: 100%;
}
.base-img.base-img120{
  width: auto;
  padding-top: 120%;
}


@media screen and (max-width: 736px) {
	img {
		max-width: 100%;
	}
}

/***************************************************************

table

****************************************************************/

table.tbl-border {
    border-collapse: collapse;
    width: 100%;
    border-left: 1px solid #b5b5b5;
    border-top: 1px solid #b5b5b5;
	border-spacing: 0;
	font-size: 1.3rem;
}
table.tbl-border  th, table.tbl-border  td {
    border-right: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5;
    padding: 10px 20px;
}
table.tbl-border th {
    padding: 10px 20px;
    background: #eee;
}
table.tbl-border td {
	text-align: left;
}


/***************************************************************

width .w

****************************************************************/


.w05per { width: 5%; }
.w10per { width: 10%; }
.w15per { width: 15%; }
.w20per { width: 20%; }
.w25per { width: 25%; }
.w30per { width: 30%; }
.w33per {
	width: 33.3333333333333%;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
}

.w35per { width: 35%; }
.w40per { width: 40%; }
.w45per { width: 45%; }
.w50per { width: 50%; }
.w55per { width: 55%; }
.w60per { width: 60%; }
.w66per {
 width: 66.1111111111111111111111111111111111%; 
	width : -webkit-calc(100% / 3 * 2) ;
	width : calc(100% / 3 * 2) ;
}
.w65per { width: 65%; }
.w70per { width: 70%; }
.w75per { width: 75%; }
.w80per { width: 80%; }
.w85per { width: 85%; }
.w90per { width: 90%; }
.w95per { width: 95%; }
.w100per { width: 100%; }


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

	.w05per { width: 100%; }
	.w10per { width: 100%; }
	.w15per { width: 100%; }
	.w20per { width: 100%; }
	.w25per { width: 100%; }
	.w30per { width: 100%; }
	.w33per { width: 100%; }
	.w35per { width: 100%; }
	.w40per { width: 100%; }
	.w45per { width: 100%; }
	.w50per { width: 100%; }
	.w55per { width: 100%; }
	.w60per { width: 100%; }
	.w66per { width: 100%; }
	.w65per { width: 100%; }
	.w70per { width: 100%; }
	.w75per { width: 100%; }
	.w80per { width: 100%; }
	.w85per { width: 100%; }
	.w90per { width: 100%; }
	.w95per { width: 100%; }
	.w100per { width: 100%; }

	.w05per-sp { width: 5%; }
	.w10per-sp { width: 10%; }
	.w15per-sp { width: 15%; }
	.w20per-sp { width: 20%; }
	.w25per-sp { width: 25%; }
	.w30per-sp { width: 30%; }
	.w33per-sp { width: 33.3333333333333%; }
	.w35per-sp { width: 35%; }
	.w40per-sp { width: 40%; }
	.w45per-sp { width: 45%; }
	.w50per-sp { width: 50%; }
	.w55per-sp { width: 55%; }
	.w60per-sp { width: 60%; }
	.w65per-sp { width: 65%; }
	.w66per-sp { width: 66%; }
	.w70per-sp { width: 70%; }
	.w75per-sp { width: 75%; }
	.w80per-sp { width: 80%; }
	.w85per-sp { width: 85%; }
	.w90per-sp { width: 90%; }
	.w95per-sp { width: 95%; }
	.w100per-sp { width: 100%; }

}



/***************************************************************

text-align .align_

****************************************************************/

.align_l { text-align: left !important; }
.align_c { text-align: center !important; }
.align_r { text-align: right !important; }
.valign_m { vertical-align: middle !important; }

@media screen and (max-width: 736px) {
.align_l-sp { text-align: left !important; }
.align_c-sp { text-align: center !important; }
.align_r-sp { text-align: right !important; }
.valign_m-sp { vertical-align: middle !important; }

}



/***************************************************************

vertical-align .v_

****************************************************************/


.v_align-t{vertical-align: top;}
.v_align-m{vertical-align: middle;}
.v_align-b{vertical-align: bottom;}


/***************************************************************

margin .m_

****************************************************************/

.m_center{
	margin: 0 auto;
}
.m_top005{
    margin-top: 0.5rem!important;
}
.m_top01{
    margin-top: 1rem!important;
}
.m_top02{
    margin-top: 2rem!important;
}
.m_top03{
    margin-top: 3rem!important;
}
.m_top04{
    margin-top: 4rem!important;
}
.m_top05{
    margin-top: 5rem!important;
}
@media screen and (max-width: 736px) {
	.m_top005{
	    margin-top:1vw!important;
	}
	.m_top01{
	      margin-top: 2vw!important;
	}
	.m_top02{
	      margin-top: 4vw!important;
	}
	.m_top03{
	      margin-top: 5.5vw!important;
	}
	.m_top04{
	     margin-top: 6.5vw!important;
	}
	.m_top05{
	      margin-top: 8vw!important;
	}
}
.m_bottom005{
    margin-bottom: 0.5rem!important;
}
.m_bottom01{
    margin-bottom: 1rem!important;
}
.m_bottom02{
    margin-bottom: 2rem!important;
}
.m_bottom03{
    margin-bottom: 3rem!important;
}
.m_bottom04{
    margin-bottom: 4rem!important;
}
.m_bottom05{
    margin-bottom: 5rem!important;
}

@media screen and (max-width: 736px) {
	.m_bottom005{
	    margin-bottom:1vw!important;
	}
	.m_bottom01{
	      margin-bottom: 2vw!important;
	}
	.m_bottom02{
	      margin-bottom: 4vw!important;
	}
	.m_bottom03{
	      margin-bottom: 5.5vw!important;
	}
	.m_bottom04{
	     margin-bottom: 6.5vw!important;
	}
	.m_bottom05{
	      margin-bottom: 8vw!important;
	}
}

.m_right005{
    margin-right: 0.5rem!important;
}
.m_right01{
    margin-right: 1rem!important;
}
.m_right02{
    margin-right: 2rem!important;
}
.m_right03{
    margin-right: 3rem!important;
}
.m_right04{
    margin-right: 4rem!important;
}
.m_right05{
    margin-right: 5rem!important;
}

@media screen and (max-width: 736px) {
	.m_right005{
	    margin-right:1vw!important;
	}
	.m_right01{
	      margin-right: 2vw!important;
	}
	.m_right02{
	      margin-right: 4vw!important;
	}
	.m_right03{
	      margin-right: 5.5vw!important;
	}
	.m_right04{
	     margin-right: 6.5vw!important;
	}
	.m_right05{
	      margin-right: 8vw!important;
	}
}


/***************************************************************

.txt-

****************************************************************/


.txt-h10{
	line-height: 1!important;
}
.txt-h12{
	line-height: 1.2!important;
}
.txt-h14{
	line-height: 1.4!important;
}
.txt-h16{
	line-height: 1.6!important;
}
.txt-h18{
	line-height: 1.8!important;
}
.txt-h20{
	line-height: 2.0!important;
}
.txt-space5{
	letter-spacing:5px!important;
}
.txt-space10{
	letter-spacing:10px!important;
}
.txt-space15{
	letter-spacing:15px!important;
}


.txt-w100{
	font-weight: lighter;
}
.txt-w300{
    font-weight: 300!important;
}
.txt-w500{
    font-weight: 500!important;
}
.txt-w700{
    font-weight: 700!important;
}
.txt-xxxxlarge{
	font-size: 5.5rem!important;
}

.txt-xxxlarge{
	font-size: 3.8rem!important;
}
.txt-xxlarge{
	font-size:3rem!important;
}
.txt-xlarge{
	font-size:2.2rem!important;
}
.txt-large{
	font-size:1.8rem!important;
}
.txt-xmiddle{
	font-size:1.5rem!important;
}

.txt-middle{
	font-size:1.3rem!important;
}
.txt-small{
	font-size:1rem!important;
}
.txt-xsmall{
	font-size:0.85rem!important;
}

.txt-notes {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 0.8vw;
    width: 99%;
    padding: 0.5%;
}

.txt-balloon  span{
    padding: 0px 2.5vw 0px;
    z-index: 1;
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.txt-balloon span:before,
.txt-balloon span:after {
    content: "";
    height: 4vh;
    height: 2vh;
    width: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
    vertical-align: middle;
    background:#ed1e79!important;
    transform: rotate(-20deg);
    -moz-transform: rotate(-20eg);
    -webkit-transform: rotate(-20deg);
}
.txt-balloon span:after {
    left: auto;
    right: 0;
    transform: rotate(20deg);
    -moz-transform: rotate(20eg);
    -webkit-transform: rotate(20deg);
}

.txt-marker em{
  background: linear-gradient(transparent 60%, #f2cf39 0%);
  display: inline;
  padding: 0 6px 0px;
  font-style: normal;
}



@media screen and (max-width: 736px) {
	.txt-xxxlarge {
	    font-size: 8vw!important;
	}

	.txt-xxlarge {
	    font-size: 7.5vw!important;
	}
	.txt-xlarge {
	  font-size: 7.5vw!important;
	}
	.txt-large {
	   font-size: 6vw!important;
	}
	.txt-xmiddle {
	      font-size: 5.5vw!important;
	}
	.txt-middle {
	     font-size: 4.5vw!important;
	}

	.txt-small {
	      font-size: 3.5vw!important;
	}
	.txt-xsmall {
	      font-size: 2.5vw!important;
	}
}

/***************************************************************

#list

****************************************************************/

ul.note {
    padding:10px 0px 10px 14px;
    text-align: left;
}
.note li {
    background: none!important;
    line-height: 1.6;
    margin: 0px 0 5px;
    list-style: none;
}

.note li:before {
    content: "・";
    color: ;
    margin-left: -14px;
}


.list_dl{
    display: inline-block;
}

.list_dl dl{
	display: -webkit-box;
    display: -ms-flexbox;
	display: flex;
	align-items: baseline;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
    line-height: 1.6;
    margin: 0.5rem auto;
}
.list_dl dl dt{
	width: 100px;
}
.list_dl dl dt p {
    background: #999;
    color: #fff;
    border: 1px #999 solid;
    border-radius: 0.2rem;
    text-align: center;
    font-size: 80%;
	margin-right: 0.5rem;
}
.list_dl dd p{
    margin: 0.1rem;
   text-align: left;
}
.list_dl dd.price span {
    font-family: helvetica;
	font-size: 160%;
}

/***************************************************************

flex-box

****************************************************************/

.flex-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
}
.flex-box.flex-d_r {
    flex-direction: row-reverse;
}
.flex-box.align-i_f {
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}
.flex-box.align-i_e {
    -webkit-box-align: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
}


/***************************************************************

btn

****************************************************************/

.btn{
	font-size: 1rem;
    color: #fff;
    padding: 0.5rem 35px 0.5rem 0px;
    display: inline-block;
    text-align: left;
    position: relative;
    text-decoration: none;
}
.btn.btn_block{
    display:block;
}
.btn.btn_round {
    border-radius: 8px;
    padding: 0.5rem 35px;
    text-align: center;
}
.btn.btn_square {
    border-radius:9999px;
    padding:  0.5rem  35px;
    text-align: center;
}


.btn.btn_round_large {
    border-radius: 8px;
    padding:1rem 35px;
    text-align: center;
}
.btn.btn_square.align_l {
    padding: 0.6vw 25px;
}

.btn::after {
	content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn.btn_anc::after {
  transform: rotate(135deg);
}

.btn.c_black::after {
  border-top: 1px solid #bf0000;
  border-right: 1px solid #bf0000;
}


@media screen and (max-width: 736px) {
	.btn.btn_round_large {
	    padding:1.5rem 35px;
	    padding: 1.5rem 6vw;
	}
	.btn.btn_square.align_l {
	    padding: 0.5rem 20px;
	}

}


/***************************************************************

data-

****************************************************************/


[data-wrap=text] {
}
@media screen and (max-width: 767px) {
  .[data-wrap=text] {
  }
}

[data-margin=large] {
  margin-bottom: 5em !important;
}
@media screen and (max-width: 767px) {
  [data-margin=large] {
      margin-bottom: 15vw !important;
  }
}

[data-margin=middle] {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  [data-margin=middle] {
      margin-bottom: 10vw !important;
  }
}

[data-margin=small] {
 margin-bottom: 1em !important;
}
@media screen and (max-width: 767px) {
  [data-margin=small] {
      margin-bottom: 3.5vw !important;
  }
}
[data-margin=none] {
  margin-bottom: 0 !important;
}

[data-align=center] {
  text-align: center;
}
[data-align=right] {
  text-align: right;
}
[data-align=left] {
  text-align: left;
}

[data-color=key] {
  color: #c80421!important;
  color:#ed1e79!important;
   color:#E24791!important;
}
[data-bgcolor=key] {
  background-color: #E24791!important;
}
[data-color=line] {
  color: #00B900!important;
}
[data-bgcolor=line] {
  background-color: #00B900!important;
}




[data-color=black] {
  color: #333!important;
}
[data-bgcolor=black] {
  background-color: #333!important;
}

[data-color=gray] {
  color:#a5a5a5!important;
}
[data-bgcolor=gray] {
  background-color:#a5a5a5!important;
}
[data-color=light-gray] {
  color:#ededed!important!important;
}
[data-bgcolor=light-gray] {
  background-color:#ededed!important;
}

[data-color=white] {
  color: #fff!important;
}
[data-bgcolor=white] {
  background-color: #fff!important;
}
[data-color=red] {
  color: #ed0000!important;
}
[data-bgcolor=red] {
  background-color: #ed0000!important;
}
[data-color=orange] {
  background-color: #ff6200!important;
}
[data-bgcolor=orange] {
  color: #ff6200!important;
}
[data-color=green] {
  color: #008b05!important;
}
[data-bgcolor=green] {
  background-color: #008b05!important;
}
[data-color=light-green] {
  color: #27bf73!important;
}
[data-bgcolor=light-green] {
  background-color: #27bf73!important;
}

[data-color=pink] {
  color: #ff7eb9!important;
}
[data-bgcolor=pink] {
  background-color:#ff7eb9!important;
}
[data-color=light-pink] {
  color:#ff7eb9!important;
}
[data-bgcolor=light-pink] {
  background-color: #ffb7de!important;
}


[data-color=yellow] {
  color: #ffe200!important;
}
[data-bgcolor=yellow] {
  background-color: #ffe200!important;
}
[data-color=blue] {
  color: #06c!important;
}
[data-bgcolor=blue] {
  background-color: #06c!important;
}
[data-color=sky] {
  color: #0084ff!important!important;
}
[data-bgcolor=sky] {
  background-color: #0084ff!important;
}
[data-color=light-sky] {
  color: #b6d9ea!important!important;
}
[data-bgcolor=light-sky] {
  background-color:#b6d9ea!important;
}

[data-color=gold] {
  color: #ad925d!important;
}
[data-bgcolor=gold] {
  background-color:#ad925d!important;
}



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

}
/*************************************************************

.root__pagetop

**************************************************************/

.root__pagetop{
  position: fixed;
  right: 5px;
  bottom: 5px;
  z-index: 9000;
  display: none;
}
.root__pagetop a{
  font-size: 0;
  position: relative;
  background: #fff;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 9999px;
box-shadow: 0 3px 20px 0 rgba(25,25,25,.2);
}

.root__pagetop a:before{
	content: "";
	border: 0;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	display: inline-block;
	transform: rotate(-45deg);
	width: 12px;
	height: 12px;
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
}
