@charset "utf-8";

/*
/*    CSS MENU
/*
/*    -> font
/*    -> header
/*    -> footer + pagetop
/*    -> モジュール
/*    -> ページ固有
*/
html{visibility:hidden}
html.wf-active{visibility:visible}
.mtl{margin-top:10vw!important}
.mbl{margin-bottom:10vw!important}
.ptl{padding-top:10vw!important}
.pbl{padding-bottom:10vw!important}
.mtm{margin-top:7vw!important}
.mbm{margin-bottom:7vw!important}
.ptm{padding-top:7vw!important}
.pbm{padding-bottom:7vw!important}
.mtms{margin-top:5vw!important}
.mbms{margin-bottom:5vw!important}
.ptms{padding-top:5vw!important}
.pbms{padding-bottom:5vw!important}
.mts{margin-top:2vw!important}
.mbs{margin-bottom:2vw!important}
.pts{padding-top:2vw!important}
.pbs{padding-bottom:2vw!important}
.mtss{margin-top:1vw!important}
.mbss{margin-bottom:1vw!important}
.ptss{padding-top:1vw!important}
.pbss{padding-bottom:1vw!important}


/*******************************************************************************
/*******************************************************************************
ローディング */

#pageloading-wrap {
	background: #466bda;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	display: table;
	z-index: 1;
}

#pageloading-icon {
	display: table-cell;
	vertical-align: middle;
}

#wrapper {
	z-index: 10;
}

#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	z-index: 10000;
}

#loading img {
	width: 60px;
	max-width: 100%;
}


/*******************************************************************************
/*******************************************************************************
font */

@font-face {
	font-family: 'mipig';
	src: url('../fonts/mipig-syi1tg.eot');
	src: url('../fonts/mipig-syi1tg.eot#iefix') format('embedded-opentype'), url('../fonts/mipig-syi1tg.ttf') format('truetype'), url('../fonts/mipig-syi1tg.woff') format('woff'), url('../fonts/mipig-syi1tg.svg#mipig') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon_"],
[class*=" icon_"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'mipig' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon_minus:before {
	content: "\e900";
}

.icon_plus:before {
	content: "\e901";
}

.icon_largelist:before {
	content: "\e902";
}

.icon_smalllist:before {
	content: "\e903";
}

.icon_keyboard_arrow_up:before {
	content: "\e904";
}

.icon_keyboard_arrow_right:before {
	content: "\e905";
}

.icon_keyboard_arrow_left:before {
	content: "\e906";
}

.icon_keyboard_arrow_down:before {
	content: "\e907";
}

.icon_line:before {
	content: "\e90b";
}

.icon_twitter1:before {
	content: "\e909";
}

.icon_instagram:before {
	content: "\e90a";
	/* line-height: 1; */
	vertical-align: top;
}

.icon_map-marker:before {
	content: "\e908";
}

.send[disabled] {
    background-color: #aaa;
    cursor: not-allowed;
}


input[type="submit"][disabled]#send_validation {
  background-color: #ccc;
    cursor: not-allowed;
}





/*******************************************************************************
/*******************************************************************************
header */

header {
	position: absolute;
	top: 19px;
	left: 5vw;
	width: 18vw;
	z-index: 11;
}




@media screen and (max-width:600px) {
header {
	position: absolute;
	top: 15px;
	left: 3vw;
	width: 18vw;
	z-index: 11;
}
}

.main_nav .reservation_nav {
    background: #fff;
    border-radius: 50px;
    padding: 0 3vw 0 5vw;
    margin-top: 7%;
}

.main_nav .reservation_nav a {
    padding: 0;
    color: #ff924c;
	font-weight: 700;
}
.main_nav a {
	font-weight: 700;
}

.main_nav .reservation_nav > a:before {
     display: none;
}




 @media screen and (max-width: 600px) {
.logo_jp_yoko {
display: block;
  position: absolute;
margin-left:180%;
}
.logo_jp_yoko img{
width:180px;
}
.logo_jp {
display: none;
}
}









/*******************************************************************************
/*******************************************************************************
footer + pagetop */

.f_logo_box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 7vw;
	width:150px;
}



.f_logo_blox2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin: 10px auto;
}

.f_logo_blox3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin: 10px auto;
	font-size:1em;
	font-weight:bold;
}


.f_logo_box .lead {
	font-size: 1.2rem;
	width: 25.5em;
	text-align: right;
}

.f_logo_box .f_logo {
	-webkit-flex: 1;
	flex: 1;
}

.f_sitemap {
	margin-top: 10vw;
	overflow: hidden;
}

.f_sitemap:before {
	content: '';
	clear: both;
	display: block;
	height: 0;
	font-size: 0;
	visibility: hidden;
}

.f_sitemap .col_box {
	width: 49%;
	float: left;
}

.f_sitemap .col_box:nth-child(2) {
	float: right;
}

.f_sitemap a {
	position: relative;
	text-decoration: none;
	font-size: 1.2rem;
	padding-left: 6vw;
}

.f_sitemap .col_box > ul > li > a {
	font-size: 1.5rem;
	font-weight: bold;
	padding-left: 0;
}

.f_sitemap .col_box > ul > li > ul > li > a:before,
.f_sitemap .col_box > ul > li > div > ul > li > a:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 2vw;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
	border-right: 2px solid #4f342c;
	border-bottom: 2px solid #4f342c;
	width: 1.5vw;
	height: 1.5vw;
}

.f_sitemap .col_box > ul > li + li,
.f_sitemap .col_box + .col_box:not(:nth-child(2)),
.f_sitemap .col_box ul li div ul + ul {
	margin-top: 2vw;
}

.f_sns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 5vw;
}

.f_sns a {
	text-decoration: none;
}

.f_sns li + li {
	margin-left: 6vw;
}

.f_sns li {
	font-size: 6vw;
}

.f_img_area {
	padding-top: 5vw;
	padding-bottom: 2vw;
	position: relative;
}

.f_img_area .inner {
	position: relative;
}

.f_img_area small, .f_img_area p {
	font-size: 1.3rem;
}

#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
		z-index:25;
}

#pagetop a {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
	background: #ff924c;
	border-radius: 7px;

}

#pagetop a:before {
	content: '';
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	top: 50%;
	left: 50%;
	position: absolute;
	display: block;
	-webkit-transform: translate(-50%, -50%) translateY(2px) rotate(-45deg);
	transform: translate(-50%, -50%) translateY(2px) rotate(-45deg);
	width: 8px;
	height: 8px;
}


.inner3 {
     width: 90%;
     max-width: 1200px;
     margin: auto;
 }
 .inner3 img {
     width: 100%;
 }
 .text-left {
     text-align: left;
 }
 
      .flexbox {
         display: block;
     }
     .flexbox .box1 {
         width: 100%;
         margin: 20ox auto;
     }
     .flexbox .box2 {
         width: 100%;
         margin: 20px auto;
     }

/*******************************************************************************
/*******************************************************************************
モジュール */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
画像　*/

.sa_a_img img {
	-webkit-transform: scale3d(1.01, 1.01, 1);
	transform: scale3d(1.01, 1.01, 1);
	transition: 0.5s ease;
	-webkit-transition: 0.5s ease;
}

.sa_brown {
	background: #4a3730;
}

.max_img {
	max-width: 100%;
	width: auto;
	display: inline-block;
}

.circle_lay {
	overflow: hidden;
	border-radius: 50%;
}

.img_m {
	text-align: center;
}

.img_m img {
	width: 100%;
	max-width: 800px;
	display: inline-block;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
テキスト */

.catch {
	position: relative;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-bottom: 5vw;
	letter-spacing: 2px;
}
.name {
	font-size: 2.1rem;
}

.name .keisyou {
	font-size: 1.5rem;
	vertical-align: baseline;
	padding-left: 0.5em;
}

.longen {
	word-break: break-all;
}

span.marker_p{
	background:linear-gradient(transparent 70%, #f5c8da 70%);
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tl */

.tl_hana {
	margin-top: 10vw;
	text-align: center;
	position: relative;
	padding-top: 4vw;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-bottom: 5vw;
}

.tl_hana:before {
	background: url("../images/tl_hana.png") center top no-repeat;
	position: absolute;
	content: "";
	top: -35%;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	width: 5vw;
	height: 3vw;
	background-size: contain;
}





@media screen and (max-width:600px) {
.tl_hana:before {
	background: url("../images/tl_hana.png") center top no-repeat;
	position: absolute;
	content: "";
	top: -22%;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	width: 6vw;
	height: 6vw;
	background-size: contain;
}
}


.tl_hana_w {
	position: relative;
	padding-left: 8vw;
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 3vw;
	font-weight: bold;
}

.tl_hana_w:before {
	position: absolute;
	content: "";
	left: 0;
	top: 1vw;
	background: url("../images/tl_hana_white.png") center center no-repeat;
	background-size: contain;
	width: 4.4vw;
	height: 5vw;
}

.tl_simple00 {
	position: relative;
	font-size: 2.7rem;
	line-height: 1.4;
	margin-bottom: 7vw;
	font-weight: bold;
}

.tl_simple01 {
	margin-top: 10vw;
	text-align: center;
	position: relative;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-bottom: 5vw;
	letter-spacing: 2px;
}

.tl_simple02 {
	font-size: 2rem;
	margin-top: 10vw;
	position: relative;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5vw;
	letter-spacing: 0px;
}

.tl_simple03 {
	font-size: 1.7rem;
	margin-top: 5vw;
	position: relative;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 3vw;
	letter-spacing: 2px;
}


.tl_simple04 {
	margin-top: 10vw;
	text-align: left;
	position: relative;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.4;
	letter-spacing: 0px;
}

.tl_dot02 {
	font-size: 2rem;
	margin-top: 10vw;
	position: relative;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5vw;
	letter-spacing: 2px;
	padding-left: 1.2rem;
}
.tl_dot02::before {
	content: '';
	position: absolute;
	top: 1rem;
	left: 0;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	background-color: #4a3730;
	border-radius: 7px;
}
.tl_hana_yoko {
	position: relative;
	padding-left: 8vw;
	font-size: 2.7rem;
	line-height: 1.4;
	margin-bottom: 7vw;
	font-weight: bold;
}

.tl_hana_yoko:before {
	position: absolute;
	content: "";
	left: 0;
	top: 2vw;
	background: url("../images/tl_hana.png") center center no-repeat;
	background-size: contain;
	width: 4.4vw;
	height: 5vw;
}

.tl_p {
	display: block;
	margin-top: 1.2rem
}

.tl_news_s {
	font-size: 1.8rem;
	margin-top: 8vw;
	position: relative;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 2vw;
	letter-spacing: 2px;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
list */


/*______________________________________________________________________________
li_dot_small */

.li_dot_small li {
	margin-top: 0.5rem;
	padding-left: 1.4rem;
	position: relative;
}

.li_dot_small li:before {
	font-family: 'mipig' !important;
	content: "\e903";
	position: absolute;
	left: 0;
	top: 0;
}


/*______________________________________________________________________________
li_dot_large */

.li_dot_large li {
	position: relative;
	padding-left: 1.8em;
}

.li_dot_large li + li {
	margin-top: 1em;
}

.li_dot_large li:before {
	font-family: 'mipig' !important;
	content: "\e902";
	position: absolute;
	left: 0;
	top: 0;
	line-height: 2.2;
}

/*______________________________________________________________________________
li_style */
.li_style li {
	margin-top: 0.5rem;
	padding-left: 1.4rem;
	position: relative;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
btn */

.btn_col02 li + li,
.btn_col03 li + li{
	margin-top: 3vw;
}

.btn {
	display: block;
	text-decoration: none;
	background: #fff;
	border: 1px solid #dcccc4;
	line-height: 1.4;
	padding: 3vw 4vw;
	border-radius: 8px;
	width: 65vw;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	font-weight: 700;
	margin-top:10px;
}

.btn_arrow span:before {
	position: absolute;
	content: "";
	top: 50%;
	right: 0%;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
	border-right: 2px solid #ff924c;
	border-bottom: 2px solid #ff924c;
	width: 1.5vw;
	height: 1.5vw;
}

.btn_arrow_reverse span:before {
	right: auto;
	left: 0;
	-webkit-transform: translate(50%, -50%) rotate(135deg);
	transform: translate(50%, -50%) rotate(135deg);
}

.btn_w {
	background: no-repeat;
	border-color: #fff;
	color: #fff;
	font-weight: 700;
}

.btn_brown {
	background: #ff924c;
	border-color: #ff924c;
	color: #fff;
	font-weight: 700;
}

.btn_brown input {
	color: #fff;
	line-height: 1.4;
	letter-spacing: 5px;
	font-weight: 700;
}

.btn_arrow span {
	position: relative;
	padding-left: 2vw;
	padding-right: 5vw;
}

.btn_arrow_reverse span {
	position: relative;
	padding-left: 5vw;
	padding-right: 2vw;
}

.btn_arrow span:before {
	border-color: #fff;
}

.btn_brown span:before {
	border-color: #fff;
}

.btn_arrow_brown span:before {
	border-color: #ff924c;
}



.btn_icon {
	width: 38vw;
}

.btn_warrow {
	width: 100%;
	position: relative;
	text-align: left;
	padding: 2vw 5vw 3vw 3vw;
}

.btn_warrow:before {
	position: absolute;
	content: "";
	top: 50%;
	right: 2vw;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	width: 1.5vw;
	height: 1.5vw;
}

.btn_icon .btn_icon {
	padding-right: 0.5em;
	font-size: 1.3em;
	line-height: 1;
}

.img_over_btn {
	position: relative;
}

.img_over_btn .btn_block {
	position: absolute;
	bottom: 4vw;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	width: 70vw;
}

.img_over_btn .btn_block a {
	width: 100%;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
table */

table {
	font-size: 91%;
	border-top: 1px solid #dcccc4;
}

table tbody th {
	width: 35%;
	font-weight: 700;
}

table tbody th,
table tbody td {
	border-bottom: 1px solid #dcccc4;
	padding: 0.4em 0.4em 0.7em 0.4em;
	vertical-align: middle;
}

.th8em tbody th {
	width: 8em;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 60vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
youtube */

.youtube_wrap {
	margin: 0 auto;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
フォーム
*/

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
select,
textarea {
	background: #fff;
	border: 1px solid #dcccc4;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 10px;
	line-height: 1.4;
}



input[type=number].p-postal-code {
	width: 38% !important;
}



input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

textarea {
	height: 40vw;
	resize: vertical;
}

.form_contact table tbody th,
.form_contact table tbody td {
	border: none;
	vertical-align: middle;
}

.form_contact table {
	border: none;
}

input[type="submit"] {
	display: block;
	text-decoration: none;
	border: 2px solid #dcccc4;
	line-height: 1.4;
	padding: 3vw 4vw;
	border-radius: 8px;
	width: 65vw;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 7vw;
	background: #4f342c;
	border-color: #4f342c;
	color: #fff;
}

.selectblock {
	position: relative;
}

select::-ms-expand {
	display: none;
}

.selectblock:after {
	content: "";
	position: absolute;
	top: 46%;
	right: 20px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg);
	width: 10px;
	height: 10px;
	border-left: 2px solid #4f342c;
	border-bottom: 2px solid #4f342c;
	pointer-events: none;
}

select {
	padding-right: 30px;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
faq_block */

.faq_block dt {
	background: #f9f9f4;
	padding: 1em 10px 1em 1em;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 1px;
	transition: 0.5s ease;
	position: relative;
	border-radius: 8px;
	cursor: pointer;
}

.faq_block dt:before {
	font-size: 1.8rem;
	content: "";
	position: absolute;
	top: 50%;
	right: 19px;
	line-height: 1;
	background: #dcccc4;
	width: 7px;
	height: 2px;
	border-radius: 10px;
	transform: rotate(45deg) translate(0%, -50%);
	-webkit-transform: rotate(45deg) translate(0%, -50%);
	margin-top: 1px;
	z-index: 5;
}

.faq_block + .faq_block {
	margin-top: 3vw;
}

.faq_block dt.on {
	background: #dcccc4;
	transition: 0.5s ease;
}

.faq_block dt:after {
	font-size: 1.8rem;
	content: "";
	position: absolute;
	top: 50%;
	right: 19px;
	transform: rotate(45deg) translate(0%, -50%);
	-webkit-transform: rotate(45deg) translate(0%, -50%);
	transition: 0.5s ease;
	line-height: 1;
	background: #dcccc4;
	width: 2px;
	height: 7px;
	border-radius: 10px;
	z-index: 5;
}

.faq_block dt.on:before {
	transition: 0.5s ease;
	width: 11px;
	right: 15px;
	margin-top: 0;
}

.faq_block dt.on:after {
	transition: 0.5s ease;
	height: 11px;
	right: 23px;
	margin-top: -1px;
}

.faq_block dt p {
	position: relative;
	padding-left: 1.8em;
	z-index: 4;
	padding-right: 22px;
	line-height: 1.6;
}

.faq_block dt p:before {
	position: absolute;
	content: "Q.";
	top: 0;
	left: 0;
}

.faq_block dt p:after {
	position: absolute;
	content: "";
	background: #fff;
	border: 1px solid #dcccc4;
	width: 20px;
	height: 20px;
	top: 50%;
	right: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	border-radius: 50%;
}

.faq_block dd {
	padding: 3vw 4vw 2vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ブロック */

#wrapper:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";

	background: #e2e2e2;
	width: 18vw;
	height: 18vw;
	z-index: 11;
	border-radius:0 0 40px 0;
}







.inner {
	width: 90vw;
	margin-left: auto;
	margin-right: auto;
}

.inner2 {
	width: 95vw;
}

.inner_sp03 {
	width: 80vw;
}
.inner_sp04 {
	width: 100%;
}

.white_box {
	background: #fff;
	padding: 5vw;
}


/*______________________________________________________________________________
ふわっとフェードイン
class="sa sa--up" data-sa_delay="400"
*/

.sa {
	opacity: 0;
	transition: all 1s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}

.sa--lr {
	transform: translate(-100px, 0);
}

.sa--rl {
	transform: translate(100px, 0);
}

.sa--up {
	transform: translate(0, 100px);
}

.sa--down {
	transform: translate(0, -100px);
}

.sa--scaleUp {
	transform: scale(.5);
}

.sa--scaleDown {
	transform: scale(1.5);
}

.sa--rotateL {
	transform: rotate(180deg);
}

.sa--rotateR {
	transform: rotate(-180deg);
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
並び */

.col {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: -8vw;
}

.col .col_box {
	width: 100%;
	margin-top: 8vw;
}

.col_02ls>.col_box:first-child {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}


.col_02ls>.col_box:last-child {
	margin-top: 3vw;
}

.col_sp03 .col_box {
	width: 30%;
}

.col_sp03.pallet {
	margin-top: -5%;
}

.col_sp03.pallet .col_box {
	margin-top: 5%;
}

.colflat02 .col_box {
	overflow: hidden;
	background: #dcccc4;
}

.colflat02 .col_box a {
	width: 100%;
}

.col_03 .col_box a {
	text-decoration: none;
}



/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
half_block */

.half_block .col_box + .col_box {
	margin-top: 4vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_imgblock */

.layout_imgblock .img_box {
	margin-bottom: 5vw;
}

.layout_imgblock_rr .img_box {
	margin-top: 5vw;
	margin-bottom: 0;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_pic_link */

.layout_pic_link {
	position: relative;
}

.layout_pic_link:before {
	position: absolute;
	content: "";
	background: #4f342c;
	width: 90vw;
	right: 0;
	top: 0;
	height: 98%;
	height: -webkit-calc(100% - 10vw);
	height: calc(100% - 10vw);
}

.layout_pic_link .inner {
	position: relative;
}

.layout_pic_link .txt_block {
	color: #fff;
	padding: 8vw 2.5vw 8vw 12vw;
}

.layout_pic_link .txt_box {
	padding-left: 8vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
photo_btn */

.photo_btn {
	position: relative;
	overflow: hidden;
}

.photo_btn .img {
	background: #dcccc4;
}

.photo_btn .btn {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
photo_btn_link */

.photo_btn_link {
	position: relative;
}

.photo_btn_link .btn_style {
	position: absolute;
	top: 50%;
	right: 5vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	width: 50%;
}

.photo_btn_link .txt {
	position: absolute;
	left: 44%;
	color: #fff;
	bottom: 7vw;
	font-size: 1.3rem;
	width: 54%;
}

.photo_btn_link + .photo_btn_link .btn_style {
	right: inherit;
	left: 5vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_lbrown_roll */

.layout_lbrown_roll .con_area {
	position: relative;
	padding-top: 10vw;
}

.layout_lbrown_roll .con_area:before {
	background: #dcccc4;
	width: 100%;
	height: 75vw;
	top: 0;
	left: 0;
	position: absolute;
	content: "";
}

.layout_lbrown_roll .con_area .inner {
	position: relative;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_brown_roll */

.layout_brown_roll {
	position: relative;
}

.layout_brown_roll:before {
	position: absolute;
	content: "";
	background: #cee6fe;
	width: 100%;
	height: 98%;
	height: -webkit-calc(100% - 10vw);
	height: calc(100% - 10vw);
	left: 0;
	top: 0;
}

.layout_brown_roll .inner {
	position: relative;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_beige */

.layout_beige {
	margin-top: 10vw;
	background: #dcccc4;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
link_panel */

.link_panel > a {
	text-decoration: none;
	position: relative;
	padding-bottom: 7vw;
}

.link_panel .img {
	overflow: hidden;
	background: #eee;
}

.link_panel > a:hover {
	opacity: 1;
}

.link_panel .tl {
	text-align: center;
	font-size: 2.1rem;
	margin-top: 4vw;
	font-weight: bold;
	line-height: 1.6;
}

.link_panel > a:before {
	border: 1px solid #dcccc4;
	width: 7vw;
	height: 7vw;
	position: absolute;
	bottom: 0;
	right: 0;
	content: "";
	border-radius: 50%;
}

.link_panel > a:after {
	position: absolute;
	content: "";
	bottom: 1.5vw;
	right: 1.8vw;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
	border-right: 2px solid #dcccc4;
	border-bottom: 2px solid #dcccc4;
	width: 2vw;
	height: 2vw;
	margin-top: 0.5vw;
}

.link_panel.link_panel_notxt > a {
	padding-bottom: 0;
	width: 100%;
}

.link_panel.link_panel_notxt > a + * {
	margin-top: 5vw;
}

.link_panel.link_panel_notxt .tl {
	padding-left: 8vw;
	padding-right: 8vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_lg_yroll */

.layout_lg_yroll {
	position: relative;
	padding-top: 10vw;
	padding-bottom: 10vw;
}

.layout_lg_yroll:before {
	background: #eee;
	width: 75%;
	left: 0;
	top: 0;
	height: 100%;
	content: "";
	position: absolute;
}

.layout_lg_yroll .inner {
	position: relative;
}

.layout_lg_yroll_mini {
	padding-bottom: 0;
}

.layout_lg_yroll_mini:before {
	height: 90%;
	height: -webkit-calc(100% - 10vw);
	height: calc(100% - 10vw);
}

.layout_lg_yroll_long {
	padding-bottom: 7vw;
}

.layout_lg_yroll_r:before {
	left: inherit;
	right: 0;
}

.layout_lg_halfroll {
	position: relative;
	padding-top: 10vw;
	padding-bottom: 10vw;
}

.layout_lg_halfroll:before {
	background: #f9f9f4;
	width: 50%;
	left: 0;
	top: 0;
	height: 100%;
	content: "";
	position: absolute;
}

.layout_lg_halfroll .inner {
	position: relative;
}

.layout_lg_halfroll_r:before {
	left: inherit;
	right: 0;
}

.layout_lg_yroll_kotei:before {
	height: 50vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_lbrown_yroll_kotei */

.layout_lbrown_yroll_kotei {
	padding-top: 10vw;
	position: relative;
}

.layout_lbrown_yroll_kotei:before {
	position: absolute;
	content: "";
	background: #dcccc4;
	width: 80vw;
	height: 50vw;
	left: 0;
	top: 0;
}

.layout_lbrown_yroll_kotei .inner {
	position: relative;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout_talk */

.layout_talk {
	position: relative;
	padding-bottom: 10vw;
}

.layout_talk:before {
	position: absolute;
	content: "";
	background: #f9f9f4;
	width: 40vw;
	height: 100%;
	right: 0;
	top: 0;
}

.layout_talk .inner {
	position: relative;
	padding-top: 4vw;
}

.layout_talk dt {
	font-weight: bold;
	margin-bottom: 1vw;
}

.layout_talk dl,
.layout_talk figure {
	margin-top: 5vw;
}

.layout_talk figure figcaption {
	margin-top: 2vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instafram_block */

.instafram_block li {
	background: #4a3730;
	overflow: hidden;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app_badge */

.app_badge {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.app_badge li {
	width: 60vw;
	margin-bottom: 4vw;
}


.app_badge li a {
	width: 100%;
	display: block;
	background-size:  cover !important;
}

.app_badge .app_ios a, .app_badge .app_andoroid a {
	height: 17vw;
	border-radius: 14px;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app_badge */
.imglink_box .tl {
	text-align: center;
	font-size: 2.4rem;
	margin-bottom: 1rem;
}

.imglink_box .desc {
	margin-bottom: 2rem;
	text-align: center;
}

.imglink_box .icon_list {
	display: flex;
}

.imglink_box .icon_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 6% -4% -2%;
}

.imglink_box .icon_list li {
    width: 12.5%;
    margin: 0 3.2% 2%;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
history_block */

.history_desc + .history_desc {
	margin-top: 3rem;
}

.history_desc dt {
	font-weight: bold;
}

.history_desc dd {
	margin-top: 1rem;
}

.history_images {
	margin-top: 3rem;
	display: flex;
	justify-content: space-between;
}

.history_img {
	width: 32%;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pig_name */
.pig_name {
	font-size: 1.6rem;
}
.pig_name span {
	font-size: 2.2rem;
	padding-right: 0.5rem;
	display: inline-block;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
voice_faq */
.voice_faq + .voice_faq {
	margin-top: 3rem;
}

.voice_faq p {
	font-size: 1.7rem;
}

.voice_faq .voice_faq_tl {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1.3rem;
	line-height: 1.5;
}

.voice_faq .voice_faq_tl span {
	border-bottom: 2px solid #4a3730;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
arrow_link */
.arrow_link {
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding-left: 1.5rem;
}

.arrow_link:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 1px solid #ff924c;
	border-top: 1px solid #ff924c;
	-webkit-transform: translate(0, -50%) rotate(45deg);
	transform: translate(0, -50%) rotate(45deg);
}

.arrow_link span {
	text-decoration: underline;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
crumbs */

.crumbs {
	margin-bottom: 6vw;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.crumbs li {
	margin-right: 1em;
}

.crumbs a {
	text-decoration: none;
	font-size: 1.5rem;
}
.crumbs li.date {
	font-size: 1.7rem;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MV */

.umv_wrap,
.topmv_wrap {
	padding-top: 70px;
	position: relative;
	padding-bottom: 2.5vw ;

}


.topmv2 {
margin:70px auto 50px;
	width: 100%;
}




/*.umv_wrap:before,
.topmv_wrap:before {
	position: absolute;
	content: "";
	background:  #cee6fe;
	width: 42vw;
	height: 42vw;
	right: 0;
	bottom: 0;
}
*/

.umv,
.topmv {
	width: 95vw;
	text-align: center;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	height: 100%;
}

.umv {
	height: inherit;
}

#wrapper_bgndVideo,
.umv_wrap .img {
	opacity: 1 !important;
	background: #4f342c;
}




.topmv_in {
	/*z-index: 3;*/
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-size: 5vw;
	height: 100%;
}

.topmv_in:after {
	background: rgba(79, 52, 44, 0.15);
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 2;
}

.topmv .txt {
	position: absolute;
	width: 100%;
	text-align: center;
	color: #fff;
	z-index: 10;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


/*20210322*/

video#videoarea {
	z-index: 3;
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-size: 5vw;
	height: 100%;
	object-fit: cover;
}

/*******************************************************************************
/*******************************************************************************
ページ固有 */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOP */


/*______________________________________________________________________________
top_news */

.top_news time {
	font-size: 1.3rem;
	line-height: 1.4;
}

.top_news .tl {
	font-weight: bold;
	font-size: 1.7rem;
}


.bnr_campaign00 {
	margin-bottom: 3rem;
}



/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FOSTER */

.inner_foster h3 {
	font-size: 180%;
	font-weight: bold;
	margin-bottom: 1em;
}

.inner_foster h4 {
	font-size: 128%;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.foster_box {
	font-size: 116%;
	line-height: 1.7;
	background: #FFF;
	border: 1px solid #dcccc4;
	border-radius: 10px;
	padding: 20px 30px;
	margin-bottom: 2em;
}
.foster_box li {
	list-style-type: disc;
	margin-left: 1.1em;
}
.foster_box ul {
	margin-bottom: 1em;
}
.foster_box h4, #foster_form h4 {
	display: inline-block;
	font-size: 100%;
	color: #FFF;
	background: #4f342c;
	border-radius: 100px;
	padding: 2px 14px 3px 14px;
	margin: 2rem 0;
}
.foster_attention {
	color: #d31647;
	margin-bottom: 1.8em;
}



/* 同意 */

.btn_agree {
	text-align: center;
	margin: 0 auto 2em auto;
	width: 12em;
	background: #dcccc4;
	border-radius: 10px;
	padding: 0.6em 1em;
	font-weight: bold;
}

.btn_request {
	font-size: 1.2em;
	text-align: center;
	margin: 0 auto 2em auto;
	width: 13em;
	background: #4f342c;
	border-radius: 10px;
	padding: 0.8em 1em;
	font-weight: bold;
}

.btn_request button {
	color: #FFF;
	font-weight: bold;
}








.foster_box label ~ .foster_box label {
  margin-left: 30px;
}

/* ベースのチェックボックス */
.btn_agree input[type=checkbox] {
	width: 1.7em;
}

.check-btns label {
  position: relative;
  padding-left: 2em;
	font-weight: bold;
}

.check-btns input[type=checkbox]  + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 1.6em;
  height: 1.6em;
  background: #FFF;
  left: 0;
  top: -3px;
	border-radius: 50%;
}

.check-btns input[type=checkbox]  + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 12px;
  height: 16px;
  transform: rotate(45deg) scale(0, 0);
  border-right: 3px solid #c2004a;
  border-bottom: 3px solid #c2004a;
  left: 9px;
  top: 0;
  transition: .3s;

}

.check-btns input[type=checkbox]:checked + label::after {
    transform: rotate(45deg) scale(1, 1);
}




    #foster_form {
        animation-name: fadein;
        animation-duration: 0.5s;
    }
    @keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
    }


/*書籍*/

.pro_book img, .pro_model img {
	width: 70% !important;
	margin: 0 auto 3rem auto;
}

.btn_block_line {
	display: block;
}
.btn_block_line div {
	width: 33%;
	margin: 2rem auto 0 auto;
}

.date_news {
	margin-top: 2rem;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
.tl_news {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.6;
}
ol.li_precautions li {
	list-style-type: decimal;
	margin-bottom: 2rem;
	margin-left: 2rem;
}

.split ol.li_precautions li {
	margin-bottom: 0.7rem;
}

.split .tl_simple02::before{
	font-size: 110%;
	position: absolute;
	top: -3px;
	left: 0;
	content: '■';
}
.split .tl_simple02 {
	padding-left: 20px;
}



/*安心サポート*/

.tbl_sec {
	background: #FFF;
	border: 2px solid #dcccc4;
	margin-top: 4vw;
}
.tbl_sec thead th {
	border-bottom: 1px solid #dcccc4;
	padding: 0.4em 0.4em 0.7em 0.4em;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	width: 50%;
	background: #edf7ff;
}
.tbl_sec th, .tbl_sec td {
	text-align: center;
	padding-top:1vw;
	padding-bottom:1vw;
}
.tbl_sec th {
	border-right: 1px solid #dcccc4;
}


/*-----------------------------
m_slide_img
-----------------------------*/
.m_slide_img {
	position: relative;
	overflow-x: scroll;
}

.m_slide_img:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 100;
	display: block;
	background: url("../images/icon_slider.png") center center no-repeat;
	background-size: 20vw;
	-webkit-animation: blink 1s ease-in-out infinite alternate;
	animation: blink 1s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
	0% {
		opacity: 0.5;
	}
	100% {
		opacity: 1;
	}
}

@keyframes blink {
	0% {
		opacity: 0.4;
	}
	100% {
		opacity: 1;
	}
}

.is_scrolled.m_slide_img:before {
	display: none;
}

.m_slide_img picture {
	position: relative;
	z-index: 10;
	display: block;
	width: 180%;
}

.m_slide_img_hosoku {
	color: #de82a7;
	text-align: center;
	margin-top: 4vw;
	font-size: 1.35rem;
}

.sp_yuso {
	padding-left: 1.4em;
}

/*-----------------------------
m_slide_img02
-----------------------------*/
.m_slide_img02 {
	position: relative;
	overflow-x: scroll;
}

.m_slide_img02:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 100;
	display: block;
	background: url("../images/icon_slider.png") center center no-repeat;
	background-size: 20vw;
	-webkit-animation: blink 1s ease-in-out infinite alternate;
	animation: blink 1s ease-in-out infinite alternate;
}

.is_scrolled.m_slide_img02:before {
	display: none;
}

.m_slide_img02 picture {
	position: relative;
	z-index: 10;
	display: block;
	width: 1200px;
}


/*privacy*/
body {
	counter-reset: number 0;
}
ol.li-pp-index {
	margin: 4rem 0;
}
ol.li-pp-index li {
	position: relative;
	padding-left: 8rem;
}
ol.li-pp-index li:last-child {
  padding-left: 0;
}
ol.li-pp-index li:before{
  counter-increment: number 1;
  content: "第"counter(number)"条";
  position: absolute;
  left: 0;
}
ol.li-pp-index li:last-child:before {
	content: "";
}
#pp-new h3 {
	font-size: 2rem;
	margin-bottom: 2rem;
}
#pp-new ul > li {
	counter-reset: number 0;
	list-style-type:  decimal;
	margin-left: 2rem;
	margin-bottom: 1rem;
	
}
#pp-new section {
	padding-bottom: 4rem;
}
ol.li-pp-kakko {
	margin-top: 2rem;
}
ol.li-pp-kakko > li {
	position: relative;
	padding-left: 4.6rem;
}
ol.li-pp-kakko > li:before{
  counter-increment: number ;
  content: "("counter(number)")";
  position: absolute;
  left: 0;
}

ol.li-pp-maru {
	margin: 2rem 0;
  counter-reset: number;
}
ol.li-pp-maru  > li {
	position: relative;
	padding-left: 1.5em;
}
ol.li-pp-maru  > li:before {
  counter-increment: number;
  content: counter(number);
	position: absolute;
	top: 1rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	border: 1px solid #000;
	border-radius: 50%;
	text-align: center;
	line-height: 1;
	font-size: 1.4rem
}
ol.li-pp-maru  > li.fs:before {
	font-size: 0.8rem;
	padding-top: 0.33rem;
}
#pp-new li p {
	margin: 2rem 0;
}


.tl_hana_bg{
	font-size: 2.5rem;
	border-radius: 10px; 
	text-align:center;
	width:50%;
	margin: 10px auto;
	margin-bottom: 10px;
	color:#fff;
   background-color:#4a3730;
}

a.link_arrow{
   background-image: url("../images/link_arrow.jpg");
   background-repeat: no-repeat;
   background-position: right center;
   padding-right: 18px;
   margin-right: 3px;
}


/*クリスマスキャンペーンバナー*/

.cr_cp{
	position:relative;
}
@media(min-width:751px){
    .sp{
        display: none !important;
          width: 600px;
          height: 770px;
    }
}
@media(max-width:750px){
    .pc{
        display: none !important;
         width: 650px;
          height: 350px;
    }
}

/*お正月ギャラリー*/
.syogatu_gallery{
margin-top: 50px;
display:grid;
grid-template:
 repeat(4,20vw) / repeat(3, 1fr);
 gap: .5rem;
 grid-template-areas:
 	"img1 img2 img3"
 	"img4 img5 img6"
 	"img7 img8 img9"
 	"img10 img11 img12" 	
 	;
 
 img{
 	display:block;
 	width:100%;
 	height:100%;
 	object-fit:cover;
 	border-radious:5rem;
 }
 .sy_img1 {grid-area:  img1;}
  .sy_img2 {grid-area:  img2;}
   .sy_img3 {grid-area:  img3;}
    .sy_img4 {grid-area:  img4;}
     .sy_img5 {grid-area:  img5;}
      .sy_img6 {grid-area:  img6;}
       .sy_img7 {grid-area:  img7;}
  .sy_img8 {grid-area:  img8;}
   .sy_img9 {grid-area:  img9;}
    .sy_img10 {grid-area:  img10;}
     .sy_img11 {grid-area:  img11;}
      .sy_img12 {grid-area:  img12;}
}

.dd_b{
font-weight:bold;
}


.box6 {
    padding: 0.5em 1em;
    margin: 2em auto;
    background: #f0f7ff;
    border: dashed 2px #5b8bd0;/*点線*/
    width:50%;
}
.box6 p {
    margin: 0; 
    padding: 0;
}

@media(max-width:750px){
    .box6{
    width:100%;
    }
}


/*吹き出し*左/



.balloon2-left {
  position: relative;
  display: inline-block;
  margin: 0.5em 0 0.5em 15px;
  padding: 12px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
      border-radius: 10px;
}

.balloon2-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}

.balloon2-left:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #555;
  z-index: 1;
}

.balloon2-left p {
  margin: 0;
  padding: 0;
}
	
	
	
.balloon2-right {
  position: relative;
  display: inline-block;
  margin: 0.5em 0 0.5em 15px;
  padding: 12px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
    border-radius: 10px;
}

.balloon2-right:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #FFF;
  z-index: 2;
}

.balloon2-right:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 14px solid #555;
  z-index: 1;
}

.balloon2-right p {
  margin: 0;
  padding: 0;
}






