html { 
	font-size: 55%; /* 10px */
}
body {
	background:#FFF;
	color:#3F4551;
}
body, body *, body *::before, body *::after {
	outline:none;
}

/* =loading
-------------------------------------------------------------- */
#loading {
	display:none;
}
/*トップムービー用*/
#topmovie {
	display:none;
}


/* =font
-------------------------------------------------------------- */
.mon {
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
}
.mon2 {
	font-family: 'Montserrat', sans-serif;
	font-weight:700;
}
.lora {
	font-family: 'Lora', serif;
	font-weight:400;
}
.lora2 {
	font-family: 'Lora', serif;
	font-weight:700;
}
.ryu {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	font-style: normal;
}
.futo {
	font-family: a-otf-futo-min-a101-pr6n, serif;
	font-weight: 400;
	font-style: normal;
}
.klee {
	font-family: fot-klee-pro, sans-serif;
	font-weight: 600;
	font-style: normal;
}
.mincho {
	font-family: 'Lora', 'a-otf-futo-min-a101-pr6n', serif;
	font-weight: 400;
	font-style: normal;
}
.mincho2 {
	font-family: 'Lora', 'fot-klee-pro', serif;
	font-weight: 600;
	font-style: normal;
}
.mincho3 {
	font-family: 'Lora', 'a-otf-ryumin-pr6n', serif;
	font-weight: 400;
	font-style: normal;
}

/* =margin&padding
-------------------------------------------------------------- */
.padd30 {
	padding-top:30px;
}
.padd50 {
	padding-top:50px;
}
.padd60 {
	padding-top:60px;
}
.padd100 {
	padding-top:100px;
}
.padd150 {
	padding-top:150px;
}
.padd200 {
	padding-top:200px;
}
.paddb30 {
	padding-bottom:30px;
}
.paddb50 {
	padding-bottom:50px;
}
.paddb60 {
	padding-bottom:60px;
}
.paddb100 {
	padding-bottom:100px;
}
.paddb150 {
	padding-bottom:150px;
}
.paddb200 {
	padding-bottom:200px;
}

/* =responsive
-------------------------------------------------------------- */
.tabletsp {
	display:none !important;
}
.tablet {
	display:none !important;
}
.sp {
	display:none !important;
}

/* =structure
-------------------------------------------------------------- */
.ie_alart {
	display:none;
}
#container {
	width:100%;
	position: relative;
}
.mainwrap {
	position: relative;
	z-index:2;
	-webkit-transition: all .7s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .7s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .7s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .7s cubic-bezier(.5, 0, .5, 1);
	        transition: all .7s cubic-bezier(.5, 0, .5, 1);
}
.mainwrap.active {
}
.mv.slidewindow {
	z-index:1;
	position: absolute;
	top:0;
	left:0;
}

.wrapper {
	width:100%;
	position: relative;
}
.contents {
	max-width:1200px;
	width:85%;
	margin:0 auto;
	position: relative;
}
.contents2 {
	max-width:1100px;
	width:85%;
	margin:0 auto;
	position: relative;
}
.smallbox {
	width:70%;
	margin:0 auto;
	position: relative;
}
.smallbox2 {
	width:700px;
	margin:0 auto;
	position: relative;
}
.flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}

.anime {
	opacity:1;
	-webkit-transform: translateY(50px);
	   -moz-transform: translateY(50px);
	    -ms-transform: translateY(50px);
	     -o-transform: translateY(50px);
	        transform: translateY(50px);
}

@-webkit-keyframes showup {
	0% {
	    opacity:0;
	    -webkit-transform: translateY(50px);
		   -moz-transform: translateY(50px);
		    -ms-transform: translateY(50px);
		     -o-transform: translateY(50px);
		        transform: translateY(50px);
	}
	100% {
	    opacity:1;
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
@keyframes showup {
	0% {
	    opacity:0;
	    -webkit-transform: translateY(50px);
		   -moz-transform: translateY(50px);
		    -ms-transform: translateY(50px);
		     -o-transform: translateY(50px);
		        transform: translateY(50px);
	}
	100% {
	    opacity:1;
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
}

/* =ヘッダー
-------------------------------------------------------------- */
header {
	display:block;
	width:100%;
	height:85px;
	position: absolute;
	z-index:100;
	background:#FFF;
	top:0;
	left:0;
	-webkit-transform: translateY(-85px);
	   -moz-transform: translateY(-85px);
	    -ms-transform: translateY(-85px);
	     -o-transform: translateY(-85px);
	        transform: translateY(-85px);
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
header.show {
	box-shadow:0 10px 20px rgba(193,176,154,0.5);
	-webkit-transform: translateY(0px);
	   -moz-transform: translateY(0px);
	    -ms-transform: translateY(0px);
	     -o-transform: translateY(0px);
	        transform: translateY(0px);
}
.head_wrap {
	max-width:1100px;
	width:90%;
	margin:0 auto;
	position: relative;
}
header h1 {
	position: absolute;
	display: block;
	width:120px;
	top:18px;
	left:0;
}
header h1 img {
	display: block;
	width:100%;
	height:auto;
}

/* menubtn */
header .menubtn {
	display:none;
}
/* #menu */
#menu {
	position: absolute;
	top:0;
	left:170px;
}
#menu nav {
	display: block;
	position: relative;
}
#menu .menulist li a, 
#menu .menulist li .downmenu {
	display: block;
	font-size:1.6rem;
	color:#004C83;
	line-height:85px;
	margin:0 35px 0 0;
	position: relative;
	cursor: pointer;
}
#menu .menulist li a::after, 
#menu .menulist li .downmenu::after {
	content:'';
	position: absolute;
	bottom:0;
	left:0;
	width:0%;
	height:2px;
	background:#004C83;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
#menu .menulist li a:hover::after, 
#menu .menulist li .downmenu:hover::after,
#menu .menulist li .downmenu.active::after {
	width:100%;
}

.menulist2 {
	display:none;
	position: absolute;
	width:100%;
	background:#FFF;
	top:85px;
	left:0;
	overflow:hidden;
	box-shadow:0 10px 20px rgba(193,176,154,0.5);
}
.menulist2 li {
	width:14%;
	opacity:0;
	-webkit-transform: translateY(20px);
	   -moz-transform: translateY(20px);
	    -ms-transform: translateY(20px);
	     -o-transform: translateY(20px);
	        transform: translateY(20px);
}

.menulist2.active li {
	-webkit-transition: all .6s calc(100ms * var(--pmenu-index) + 100ms) cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .6s calc(100ms * var(--pmenu-index) + 100ms) cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .6s calc(100ms * var(--pmenu-index) + 100ms) cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .6s calc(100ms * var(--pmenu-index) + 100ms) cubic-bezier(.5, 0, .5, 1);
	        transition: all .6s calc(100ms * var(--pmenu-index) + 100ms) cubic-bezier(.5, 0, .5, 1);
	        opacity:1;
	        -webkit-transform: translateY(0px);
			   -moz-transform: translateY(0px);
			    -ms-transform: translateY(0px);
			     -o-transform: translateY(0px);
			        transform: translateY(0px);
}
.menulist2 li a {
	display: block;
	width:100%;
	text-align: center;
	padding:0 0 25px 0;
	font-size:1.3rem;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.menulist2 li a:hover {
	opacity:0.5;
}
.menulist2 li a .thumb {
	width:100%;
}
.menulist2 li a .thumb img {
	display: block;
	width:100%;
	height:auto;
}
.menulist2 li a span {
	display: block;
	font-size:1.1rem;
	padding:5px 0 0 0;
}

.section {
	width: 100%;
}

/* =トップ
-------------------------------------------------------------- */

.mv {
	width:100%;
	height:100vh;
	position: relative;
	overflow:hidden;
}
.optimo {
	width:100%;
	height:100vh;
	background:url(../img/bg2.jpg) no-repeat center bottom;
	background-size:cover;
	-webkit-transition: all 3s 3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all 3s 3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all 3s 3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all 3s 3s cubic-bezier(.5, 0, .5, 1);
	        transition: all 3s 3s cubic-bezier(.5, 0, .5, 1);
	-webkit-transform: scale(1.1);
	   -moz-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	     -o-transform: scale(1.1);
	        transform: scale(1.1);
}
.optimo.run {
	-webkit-transform: scale(1);
	   -moz-transform: scale(1);
	    -ms-transform: scale(1);
	     -o-transform: scale(1);
	        transform: scale(1);
}
.mv_inner {
	width:100%;
	position: absolute;
	top:60px;
	left:0;
	text-align: center;
}
.mv_inner h2 {
	display: block;
	width:300px;
	margin:0 auto;
}
.mv_inner p {
	text-align: center;
	font-size:1.2vw;
	font-weight:700;
	line-height:1.8em;
	letter-spacing:0.2em;
	color:#FFF;
}
.mv_imgs {
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	height:100vh;
}
.mv_imgs li {
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	opacity:0;
	-webkit-transform: translateY(-50px);
	   -moz-transform: translateY(-50px);
	    -ms-transform: translateY(-50px);
	     -o-transform: translateY(-50px);
	        transform: translateY(-50px);
	-webkit-transition: all 1s calc(300ms * var(--mvimg-index) + 3.5s) cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all 1s calc(300ms * var(--mvimg-index) + 3.5s) cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all 1s calc(300ms * var(--mvimg-index) + 3.5s) cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all 1s calc(300ms * var(--mvimg-index) + 3.5s) cubic-bezier(.5, 0, .5, 1);
	        transition: all 1s calc(300ms * var(--mvimg-index) + 3.5s) cubic-bezier(.5, 0, .5, 1);
}
.mv_imgs.run li{
    opacity:1;
    -webkit-transform: translateY(0px);
	   -moz-transform: translateY(0px);
	    -ms-transform: translateY(0px);
	     -o-transform: translateY(0px);
	        transform: translateY(0px);
}
.mv_imgs li img {
	display: block;
	width:100%;
	height:auto;
	margin:0 auto;
}

.page_top::before {
	content:'SCROLL';
	z-index:10;
	width:60px;
	font-family: 'Lora', serif;
	font-weight:700;
	text-align: center;
	position: absolute;
	bottom:50px;
	font-size:1.3rem;
	left:50%;
	color:#000;
	margin:0 0 0 -30px;
}
.page_top::after {
	content:'';
	position: absolute;
	z-index:10;
	width:1px;
	height:0;
	background:#000;
	bottom:0;
	left:50%;
	-webkit-animation: scrollanime 1s linear 0s normal both infinite;
    animation: scrollanime 1s linear 0s normal both infinite;
}
@-webkit-keyframes scrollanime {
	0% {
	    height: 0;
	    bottom:40px;
	}
	50% {
	    height:40px;
	    bottom:0;
	}
}
@keyframes scrollanime {
	0% {
	    height: 0;
	    bottom:40px;
	}
	50% {
	    height:40px;
	    bottom:0;
	}
}

/* =top_product
-------------------------------------------------------------- */
.gray {
	background:#E8E8E8;
}
.top_product h2 {
	display: block;
	font-size:3.2rem;
	color:#004C83;
	text-align: center;
}
.top_product h3 {
	display: block;
	font-size:2.8rem;
	color:#000;
	text-align: center;
}
.productlist::after {
	content:'';
	width:30%;
	height:0;
}
.productlist .box {
	width:30%;
	margin:0 0 150px 0;
	position: relative;
}
.productlist .box a {
	display: block;
	width:100%;
	height:350px;
	padding:40px;
	border-radius:25px;
	background:#E8E8E8;
	box-shadow:9px 9px 7px rgba(193,176,154,0.8), -9px -9px 7px rgba(255,255,255,0.8);
}
.productlist .box a:hover {
	box-shadow:3px 3px 2px rgba(193,176,154,0.8), -3px -3px 2px rgba(255,255,255,0.8);
}
.productlist .box a:active {
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(193,176,154,0.8) inset;
}
.productlist .box_inner {
	width:100%;
}
.productlist .p_kit {
	font-size:1.6rem;
	line-height:1.8rem;
	color:#004C83;
	padding:0 0 10px 0;
}
.productlist .p_title_en {
	font-size:3.2rem;
	line-height:3.8rem;
	color:#004C83;
	padding:0 0 24px 0;
}
.productlist .p_title_jp {
	font-size:1.5rem;
	line-height:1.7em;
	color:#000;
	padding:0 0 10px 0;
}
.productlist .p_capa {
	font-size:1.5rem;
	color:#000;
}
.productlist .thumb {
	position: absolute;
	width:80%;
	bottom:-100px;
	right:0;
}
.productlist img {
	display: block;
	width:100%;
	height:auto;
}
.productlist .use_time {
	position: absolute;
	bottom:40px;
	left:40px;
}
.productlist .use_time li {
	width:32px;
	margin:0 15px 0 0;
}
.topborder {
	padding:40px 0;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
}


/* =汎用
-------------------------------------------------------------- */
.title1 {
	display: block;
	font-size:2.5vw;
	line-height:1.5em;
	color:#004C83;
}
.title2 {
	display: block;
	font-size:4rem;
	line-height:1.5em;
	text-align: center;
	color:#004C83;
}
.title2 span {
	display:inline-block;
	border-bottom:1px solid #004C83;
}
.title2 i,
.title3 i {
	font-style:normal;
	color:#C61414;
}
.title3 {
	display: block;
	font-size:3.2rem;
	line-height:1.5em;
	color:#004C83;
	padding:0 0 0 15px;
	border-left:3px solid #004C83;
}
.txt {
	font-size:1.7rem;
	line-height:1.8em;
	color:#000;
}
.txt2 {
	font-size:2.3rem;
	line-height:1.8em;
	color:#000;
	text-align: center;
}
.note {
	font-size:1.4rem;
	line-height:1.6em;
	color:#666666;
}

.layout1 .left, .layout1 .right,
.layout2 .left, .layout2 .right,
.layout3 .left, .layout3 .right,
.layout4 .left, .layout4 .right {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-justify-content: start;
	-moz-justify-content: start;
	-ms-justify-content: start;
	justify-content: start;
}

.layout1 .left, .layout1 .right {
	width:48%;
}
.layout1 .thumb {
	width:100%;
}
.layout1 img {
	display: block;
	width:100%;
	height:auto;
}

.layout2 .left,
.layout2 .right2 {
	width:25%;
}
.layout2 .right,
.layout2 .left2 {
	width:70%;
}
.layout2 .thumb {
	width:100%;
}
.layout2 img {
	display: block;
	width:100%;
	height:auto;
}

.layout3 .left,
.layout3 .right2 {
	width:35%;
}
.layout3 .right,
.layout3 .left2 {
	width:60%;
}
.layout3 .thumb {
	width:100%;
}
.layout3 img {
	display: block;
	width:100%;
	height:auto;
}

.layout4 .left,
.layout4 .right2 {
	width:42%;
}
.layout4 .right,
.layout4 .left2 {
	width:53%;
}
.layout4 .thumb {
	width:100%;
}
.layout4 img {
	display: block;
	width:100%;
	height:auto;
}

.layout5 .thumb {
	width:100%;
}
.layout5 img {
	display: block;
	width:100%;
	height:auto;
}


.btn_more {
	display: block;
	width:350px;
	margin:0;
	padding:18px 0 20px;
	background:#E8E8E8;
	color:#004C83;
	text-align: center;
	font-size:1.8rem;
	line-height:1.8rem;
	border-radius:40px;
}
.btn_more:hover {
	background:#004C83;
	color:#FFF;
}
.btn_more.cntr {
	margin:0 auto;
}



/* =about
-------------------------------------------------------------- */
/* ---- reset ---- */ 
canvas{ display: block; vertical-align: bottom; } 
#particles-js { 
	position:absolute; 
	width: 100%; 
	height: 100%; 
}
.about_inner { 
	position: absolute; 
	bottom: 0; 
	right: 0; 
	width: 100%;
	height:100%;
	
}
.about_inner .contents2 {
	overflow:inherit;
	position: relative;
	height:100%;
}
.about_inner .contents2::before {
	content:'';
	position: absolute;
	z-index:3;
	bottom:0;
	right:-150px;
	width:100%;
	height:100%;
	background:url(../img/about/mv_about.png) no-repeat right bottom;
	background-size:auto 80vh;
	opacity:0;
	-webkit-transform: translateY(50px);
	   -moz-transform: translateY(50px);
	    -ms-transform: translateY(50px);
	     -o-transform: translateY(50px);
	        transform: translateY(50px);
	-webkit-transition: all 1s 1s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all 1s 1s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all 1s 1s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all 1s 1s cubic-bezier(.5, 0, .5, 1);
	        transition: all 1s 1s cubic-bezier(.5, 0, .5, 1);
}
.about.run .about_inner .contents2::before {
    opacity:1;
    -webkit-transform: translateY(0px);
	   -moz-transform: translateY(0px);
	    -ms-transform: translateY(0px);
	     -o-transform: translateY(0px);
	        transform: translateY(0px);
}
.about_inner .contents2 .bg_about2 {
	position: absolute;
	z-index:2;
	bottom:12.5vh;
	left:0;
	width:100%;
	height:75vh;
	opacity:0.4;
}
.about_inner .contents2 .bg_about2 svg {
	display: block;
	width:auto;
	height:100%;
	margin:0 auto;
}
.about_inner .contents2 .bg_about2 path {
    fill: none;
    stroke: #FFF; /*線の色を指定する*/
    stroke-dasharray: 500;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 1;/*線の太さを指定する*/ 
}
.about.run .about_inner .contents2 .bg_about2 path {
	-webkit-animation: aboutline 1.5s 1s ease-in forwards;
    animation: aboutline 1.5s 1s ease-in forwards;
}
@-webkit-keyframes aboutline {
	0% {
		stroke-dashoffset: 3000;
		fill:transparent; /*透過*/
	}
	1% {
		stroke: #004C83;
	}
	80% {
		fill:transparent; /*透過*/
	}
	100% {
		stroke-dashoffset: 0;
		stroke: #E6E7E8;
		fill:#E6E7E8;
	}
}
@keyframes aboutline {
	0% {
		stroke-dashoffset: 3000;
		fill:transparent; /*透過*/
	}
	1% {
		stroke: #004C83;
	}
	80% {
		fill:transparent; /*透過*/
	}
	100% {
		stroke-dashoffset: 0;
		fill:#E6E7E8;
		stroke: #E6E7E8;
	}
}
.about_inner_box {
	position: absolute;
	z-index:4;
	top:50%;
	left:0;
	width:65%;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.about_inner_box h2 {
	display: block;
	font-size:4.6rem;
	line-height:1.5em;
	color:#004C83;
}
.about_inner_box .txt {
	display: block;
	width:70%;
	margin:0 auto;
	font-size:1.8rem;
	line-height:1.8em;
	color:#000;
}

.swiper-container2 {
	width:100%;
	overflow:hidden;
}
.swiper-container2 .swiper-slide {
	width:100%;
}
.swiper-container2 .swiper-slide .thumb {
	width:100%;
}
.swiper-container2 .swiper-slide .thumb img {
	display: block;
	width:auto;
	height:350px;
	margin:0 auto;
}
.swiper-container2 .swiper-slide .swipebox {
	width:580px;
	font-size:1.8rem;
	padding:22px 0;
	margin:0 auto;
}
.swiper-container2 .swiper-slide .swipebox h3 {
	display: block;
	font-size:4rem;
	height:70px;
	color:#004C83;
	text-align: center;
}
.swiper-container2 .swiper-slide .swipebox p {
	font-size:1.8rem;
	line-height:2em;
	opacity:0;
	-webkit-transition: all .3s 1s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s 1s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s 1s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s 1s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s 1s cubic-bezier(.5, 0, .5, 1);
}
.swiper-container2 .swiper-slide-active .swipebox p {
	opacity:1;
}
/* splitting */
.content__paragraph {
	margin: 0;
	position: relative;
	overflow: hidden;
	flex: none;
}
.swiper-slide-active .splitting .char {
	display:inline-block;
	position: relative;
	animation: slide-in .5s cubic-bezier(.5, 0, .5, 1) both;
	animation-delay: calc(40ms * var(--char-index) + 500ms );
}
@keyframes slide-in {
  0% {
  	opacity:0;
    transform: translateY(70px);
  }
  100% {
  	opacity:1;
    transform: translateY(0px);
  }
}


.swiper-container2 .swiper-button-next,
.swiper-container2 .swiper-button-prev {
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.swiper-container2 .swiper-button-next {
	right:-30px;
	width:60px;
	height:60px;
	background:#E8E8E8;
	border-radius:50%;
	box-shadow:9px 9px 7px rgba(193,176,154,0.8), -9px -9px 7px rgba(255,255,255,0.8);
}
.swiper-container2 .swiper-button-prev {
	left:-30px;
	width:60px;
	height:60px;
	background:#E8E8E8;
	border-radius:50%;
	box-shadow:9px 9px 7px rgba(193,176,154,0.8), -9px -9px 7px rgba(255,255,255,0.8);
}
.swiper-container2 .swiper-button-next::after {
	content:'';
	width:60px;
	height:60px;
	position: absolute;
	top:0;
	left:0;
	background:url(../img/ico_next.svg) no-repeat center center;
	background-size:auto 20px;
}
.swiper-container2 .swiper-button-prev::after {
	content:'';
	width:60px;
	height:60px;
	position: absolute;
	top:0;
	left:0;
	background:url(../img/ico_next.svg) no-repeat center center;
	background-size:auto 20px;
	-webkit-transform: rotate(180deg);
	   -moz-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	     -o-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.swiper-container2 .swiper-button-next:hover,
.swiper-container2 .swiper-button-prev:hover {
	box-shadow:3px 3px 2px rgba(193,176,154,0.8), -3px -3px 2px rgba(255,255,255,0.8);
}
.swiper-container2 .swiper-button-next:active,
.swiper-container2 .swiper-button-prev:active {
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(193,176,154,0.8) inset;
}
.swiper-container2 .swiper-pagination-bullet {
    width: 40px;
    height: 6px;
    display: inline-block;
    border-radius: 3px;
    background: #9EB7C6;
    opacity: 1;
}
.swiper-container2 .swiper-pagination-bullet-active {
    background: #004C83;
}
.swiper-container2.swiper-container-horizontal>.swiper-pagination-bullets, 
.swiper-container2 .swiper-pagination-custom, 
.swiper-container2 .swiper-pagination-fraction {
    bottom: 100px;
    left: 0;
    width: 100%;
}

.flowbox {
	position: relative;
	margin:100px auto 0;
}
.flowbox img {
	display: block;
	width:100%;
	height:auto;
}
.flow1 {
	border:5px solid #DBBA79;
}
.flow2 {
	border:5px solid #6FC8DD;
}
.flow3 {
	border:5px solid #EDB9D6
}
.flowbox_inner {
	width:100%;
	border-radius:20px;
	background:#E8E8E8;
	padding:70px 0 50px;
	box-shadow:9px 9px 7px rgba(193,176,154,0.8), -9px -9px 7px rgba(255,255,255,0.8);
}
.flowbox_inner h3 {
	position: absolute;
	z-index:2;
	background:#E8E8E8;
	top:-50px;
	left:50%;
	width:400px;
	margin:0 0 0 -200px;
	color:#004C83;
	font-size:3.0rem;
	padding:15px 0;
	border-radius:60px;
	text-align: center;
}
.flowbox_inner h3 span {
	display: block;
	font-size:2rem;
}
.swiper-container3 {
	width:100%;
	overflow:hidden;
}
.flowbox_inner .swiper-slide {
	width:25%;
	position: relative;
	cursor: grab;
}
.flowbox_inner .swiper-slide:after {
	content:'';
	position: absolute;
	top:50%;
	right:-12px;
	width: 0;
	height: 0;
	margin:-19px 0 0 0;
	border-style: solid;
	border-width: 19px 0 19px 24px;
	border-color: transparent transparent transparent #004c83;
}
.flowbox_inner .swiper-slide.last:after {
	content:none;
}
.flowbox_inner .swiper-slide .thumb {
	width:auto;
	height:250px;
}
.flowbox_inner .swiper-slide .item {
	text-align: center;
	font-size:1.5rem;
	line-height:1.5em;
}
.flowbox_inner .swiper-slide .item .item_cat {
	display: block;
	font-size:1.2rem;
}
.flowbox_inner .swiper-slide .item .mon {
	display: block;
}
.flowbox_inner .swiper-slide .timedate {
	position: absolute;
	top:30px;
	left:30px;
	width:22px;
}
.flowbox_inner .swiper-slide .timedate .morning {
	margin:0 auto 10px;
}
.swiper-container3 .swiper-scrollbar {
	bottom:20px;
}


/* =product
-------------------------------------------------------------- */
.bg_item {
	width:100%;
	height:100vh;
	-webkit-animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
    animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
}
@keyframes fadeshow {
  0% {
  	opacity:0;
  }
  100% {
  	opacity:1;
  }
}
.item_inner {
	width:100%;
	height:100vh;
	position: absolute;
	top:0;
	left:0;
}
.item_inner h2 {
	position: absolute;
	display: block;
	font-size:3.5rem;
	line-height:4.5rem;
}
.item_inner h3 {
	position: absolute;
	display: block;
	font-weight:400;
	font-size:4.5rem;
	
}
.item_inner h3 span {
	font-size:3.8rem;
}

.item_inner h2.splitting .char {
	display:inline-block;
	position: relative;
	animation: slide-in .5s cubic-bezier(.5, 0, .5, 1) both;
	animation-delay: calc(40ms * var(--char-index) + 1000ms );
}
.item_inner h3.splitting .char {
	display:inline-block;
	position: relative;
	animation: slide-in .5s cubic-bezier(.5, 0, .5, 1) both;
	animation-delay: calc(40ms * var(--char-index) + 1500ms );
}

/*item1*/
.item1 {
	background:url(../img/product/bg_item1.jpg) no-repeat center center;
	background-size:cover;
}
.item1 .item_inner h2 {
	top:-webkit-calc(85px + 6vh);
	top:-moz-calc(85px + 6vh);
	top:-ms-calc(85px + 6vh);
	top:calc(85px + 6vh);
	text-align: center;
	left:0;
	width:100%;
	color:#FFF;
	text-shadow:0 0 10px rgba(0,0,0,0.3);
}
.item1 .item_inner h3 {
	left:5%;
	top:34%;
	color:#FFF;
	text-shadow:0 0 10px rgba(0,0,0,0.3);
}
/*item2*/
.item2 {
	background:url(../img/product/bg_item2.jpg) no-repeat center bottom;
	background-size:cover;
}
.item2 .item_inner h3 {
	left:5%;
	bottom:20vh;
	color:#004C83;
}
/*item3*/
.item3 {
	background:url(../img/product/bg_item3.jpg) no-repeat center center;
	background-size:cover;
}
.item3 .item_inner h2 {
	top:-webkit-calc(85px + 6vh);
	top:-moz-calc(85px + 6vh);
	top:-ms-calc(85px + 6vh);
	top:calc(85px + 6vh);
	text-align: center;
	left:0;
	width:100%;
	color:#004C83;
}
/*item4*/
.item4 {
	background:url(../img/product/bg_item4.jpg) no-repeat center center;
	background-size:cover;
}
.item4 .item_inner h2 {
	top:-webkit-calc(85px + 6vh);
	top:-moz-calc(85px + 6vh);
	top:-ms-calc(85px + 6vh);
	top:calc(85px + 6vh);
	text-align: center;
	left:0;
	width:100%;
	color:#604B18;
	text-shadow:1px 1px 6px rgba(255,255,255,1), -1px 1px 6px rgba(255,255,255,1), 1px -1px 6px rgba(255,255,255,1), -1px -1px 6px rgba(255,255,255,1);
}
.item4 .item_inner h3 {
	top:-webkit-calc(140px + 6vh);
	top:-moz-calc(140px + 6vh);
	top:-ms-calc(140px + 6vh);
	top:calc(140px + 6vh);
	text-align: center;
	font-size:2.2rem !important;
	left:0;
	width:100%;
	color:#604B18;
	letter-spacing:0.2em;
	text-shadow:1px 1px 3px rgba(255,255,255,1), -1px 1px 3px rgba(255,255,255,1), 1px -1px 3px rgba(255,255,255,1), -1px -1px 3px rgba(255,255,255,1);
}
.item4 .item_inner h3 span {
	font-size:2rem !important;
}
/*item5*/
.item5 {
	background:url(../img/product/bg_item5.jpg) no-repeat center center;
	background-size:cover;
}
.item5 .item_inner h2 {
	top:-webkit-calc(85px + 6vh);
	top:-moz-calc(85px + 6vh);
	top:-ms-calc(85px + 6vh);
	top:calc(85px + 6vh);
	text-align: center;
	left:0;
	width:100%;
	color:#004C83;
}
.item5 .item_inner h3 {
	top:-webkit-calc(220px + 6vh);
	top:-moz-calc(220px + 6vh);
	top:-ms-calc(220px + 6vh);
	top:calc(220px + 6vh);
	text-align: center;
	font-size:2.2rem !important;
	line-height:1.8em;
	left:0;
	width:100%;
	color:#004C83;
}
.item5 .item_inner h3 span {
	font-size:2rem !important;
}
/*item6*/
.item6 {
	background:url(../img/product/bg_item6.jpg) no-repeat bottom center;
	background-size:cover;
}
.item6 .item_inner h2 {
	top:-webkit-calc(85px + 6vh);
	top:-moz-calc(85px + 6vh);
	top:-ms-calc(85px + 6vh);
	top:calc(85px + 6vh);
	text-align: center;
	left:0;
	width:100%;
	color:#604B18;
	text-shadow:1px 1px 6px rgba(255,255,255,1), -1px 1px 6px rgba(255,255,255,1), 1px -1px 6px rgba(255,255,255,1), -1px -1px 6px rgba(255,255,255,1);
}
.item6 .item_inner h3 {
	top:-webkit-calc(190px + 6vh);
	top:-moz-calc(190px + 6vh);
	top:-ms-calc(190px + 6vh);
	top:calc(190px + 6vh);
	text-align: center;
	font-size:2.2rem !important;
	left:0;
	width:100%;
	color:#604B18;
	letter-spacing:0.2em;
	text-shadow:1px 1px 3px rgba(255,255,255,1), -1px 1px 3px rgba(255,255,255,1), 1px -1px 3px rgba(255,255,255,1), -1px -1px 3px rgba(255,255,255,1);
}
.item6 .item_inner h3 span {
	font-size:2rem !important;
}


/*item_detail*/
.item_detail {
	width:100%;
	min-height:100vh;
}
.item_detail .left {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-justify-content: start;
	-moz-justify-content: start;
	-ms-justify-content: start;
	justify-content: start;
	width:45%;
}
.item_detail .right {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content:space-around;
	-moz-justify-content:space-around;
	-ms-justify-content:space-around;
	justify-content:space-around;
	-webkit-flex-flow: column;
	-moz-flex-flow: column;
	-ms-flex-flow: column;
	flex-flow: column;
	width:50%;
	padding:40px 50px;
	background:#E8E8E8;
	border-radius:20px;
	box-shadow:15px 15px 15px rgba(193,176,154,0.8), -15px -15px 15px rgba(255,255,255,0.8);
}
.item_detail .left .thumb {
	width:100%;
}
.item_detail .left .thumb img.tate {
	display: block;
	width:30%;
	height:auto;
	margin:0 auto;
}
.item_detail .left .thumb img.yoko {
	display: block;
	width:50%;
	height:auto;
	margin:0 auto;
}
.item_detail .left .thumb img.yoko2 {
	display: block;
	width:65%;
	height:auto;
	margin:0 auto;
}
.item_detail .left .thumb img.yoko3 {
	display: block;
	width:100%;
	height:auto;
	margin:0 auto;
}
.item_detail .right .kit {
	display: block;
	font-size:2rem;
	line-height:1.5em;
	color:#004C83;
	padding:0 0 15px 0;
}
.item_detail .right h2 {
	display: block;
	font-size:3.2rem;
	line-height:1.5em;
	color:#004C83;
	padding:0 0 15px 0;
}
.item_detail .right h3 {
	font-size:2.0rem;
	line-height:1.5em;
	padding:0 0 15px 0;
}
.item_detail .bunryo {
	font-size:1.5rem;
	padding:0 0 15px 0;
}
.item_detail .bunryo span {
	font-size:1.4rem;
}
.item_detail .daytime.flex {
	-webkit-justify-content:flex-start;
	-moz-justify-content:flex-start;
	-ms-justify-content:flex-start;
	justify-content:flex-start;
	width:80px;
	padding:0 0 30px 0;
}
.item_detail .daytime img {
	display: block;
	width:100%;
	height:auto;
}
.item_detail .daytime li {
	width:30px;
	margin:0 10px 0 0;
}
.item_detail .price {
	text-align:right;
	padding:15px 0 0 0;
	font-size:1.8rem;
}
.item_detail .price span {
	font-size:1.4rem;
}

.sale {
	padding:15px 0;
}
.sale .price {
	padding:0;
	color:#D33131;
}
.campaign {
	font-size:1.2rem !important;
	background:#D33131;
	color:#FFF;
	text-align: center;
	padding:6px 0;
	margin:5px auto 0;
}

.item_detail .item_intro {
	font-size:1.6rem;
	line-height:1.7em;
}
.item_detail a {
	display: block;
	width:100%;
	background:#E8E8E8;
	text-align: center;
	font-size:1.6rem;
	color:#000;
	margin:36px auto;
	padding:20px 0;
	position: relative;
	border-radius:6px;
	box-shadow:9px 9px 9px rgba(193,176,154,0.8), -9px -9px 9px rgba(255,255,255,0.8);
}
.item_detail a:hover {
	box-shadow:2px 2px 2px rgba(193,176,154,0.8), -2px -2px 2px rgba(255,255,255,0.8);
}
.item_detail a:active {
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(193,176,154,0.8) inset;
}
.item_detail a::after {
	content:'';
	position: absolute;
	top:50%;
	left:30px;
	width:30px;
	height:30px;
	margin:-15px 0 0 0;
	background:url(../img/cart.svg) no-repeat center center;
	background-size:width:30px auto;
}
.item_detail .acdbox.first {
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.item_detail .acdbox {
	border-bottom:1px solid #000;
}
.item_detail .acdbox dt {
	display: block;
	width:100%;
	font-size:1.6rem;
	padding:20px 0;
	position: relative;
	cursor: pointer;
}
.item_detail .acdbox dt::after {
	content:'';
	position: absolute;
	top:50%;
	right:20px;
	width:16px;
	height:16px;
	margin:-8px 0 0 0;
	background:url(../img/ico_sign.svg) no-repeat center center;
	background-size:16px auto;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.item_detail .acdbox dt.active::after {
	-webkit-transform: rotate(180deg);
	   -moz-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	     -o-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.item_detail .acdbox dd {
	display: none;
	font-size:1.4rem;
	line-height:1.5em;
	width:100%;
	padding:0 0 20px 0;
}
.itemimg .itemimgbox {
	width:50%;
}
.itemimg .itemimgbox img {
	display: block;
	width:100%;
	height:auto;
}
.howto {
	counter-reset: howtonum;
}
.howto.flex.center {
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
}
.howto::after {
	content:'';
	width:30%;
	height:auto;
}
.howto li::before {
	counter-increment: howtonum;
	content: counter(howtonum);
	position: absolute;
	top:10px;
	left:10px;
	width:24px;
	height:24px;
	color:#FFF;
	padding:4px 0 0 0;
	font-size:16px;
	background:#004A98;
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
	text-align: center;
	border-radius:50%;
}
.howto li {
	width:30%;
	margin:0 0 50px;
	position: relative;
}
.howto.flex.center li {
	margin:0 0.5%;
}
.howto.flex.center li.two {
	width:32%;
}
.howto li .thumb {
	width:100%;
	padding:0 0 15px 0;
}
.howto li .thumb img {
	display: block;
	width:100%;
	height:auto;
}
.howto li p {
	font-size:1.4rem;
	line-height:1.5em;
}

/* =SLB
-------------------------------------------------------------- */
.bg_slb {
	width:100%;
	height:460px;
	margin:85px auto 0;
	background:url(../img/slb/bg_slb.jpg) no-repeat center center;
	background-size:cover;
	-webkit-animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
    animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
}
.layout2 .thumb.slbmark {
	width:60%;
	margin:0 auto;
}

/* =LPS
-------------------------------------------------------------- */
.bg_lps {
	width:100%;
	height:460px;
	margin:85px auto 0;
	background:url(../img/lps/bg_lps.jpg) no-repeat center center;
	background-size:cover;
	-webkit-animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
    animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
}
.layout3 .thumb.lpsmark {
	width:60%;
	margin:0 auto;
}
.prof .left,
.prof .right {
	width:45%;
}
.prof .thumb {
	width:100%;
}
.prof .thumb img {
	display: block;
	width:100%;
	height:auto;
}
.prof .prof_name {
	font-size:2.4rem;
}
.prof .prof_desc {
	font-size:1.6rem;
	line-height:2em;
}

.history {
	width:100%;
	position: relative;
}
.history::before {
	content:'';
	position: absolute;
	top:30px;
	left:50%;
	width:1px;
	height:-webkit-calc(100% - 100px);
	height:-moz-calc(100% - 100px);
	height:-ms-calc(100% - 100px);
	height:calc(100% - 100px);
	background:#004C83;
}
.history .right {
	width:50%;
	position: relative;
	padding:0 0 0 40px;
	margin:0 0 0 50%;
}
.history .left {
	width:50%;
	position: relative;
	padding:0 40px 0 0;
}
.history .right::after {
	content:'';
	position: absolute;
	top:15px;
	left:-10px;
	width:20px;
	height:20px;
	border-radius:50%;
	background:#004C83;
}
.history .left::after {
	content:'';
	position: absolute;
	top:15px;
	right:-10px;
	width:20px;
	height:20px;
	border-radius:50%;
	background:#004C83;
}
.history .nengou {
	font-size:5rem;
	color:#004C83;
}
.history .left .nengou {
	text-align:right;
}

.dotlist li {
	list-style-type:square;
	margin:15px 0 15px 25px;
	font-size:1.6rem;
}


/* =contact
-------------------------------------------------------------- */
.callbox {
	border:1px solid #ccc;
	text-align: center;
	padding:15px 0;
	font-size:4rem;
}
.callbox span {
	font-size:1.8rem;
}
.contactform li {
	padding:100%;
	padding:6px 0;
}
.contactform input, .contactform select, .contactform textarea {
	display: block;
	width:100%;
	-webkit-appearance:none;
	appearance:none;
	padding:15px;
	font-size:1.8rem;
	border:1px solid #ccc;
	border-radius:4px;
	outline:none;
}
.contactform input:focus, .contactform select:focus, .contactform textarea:focus {
	box-shadow:0 0 4px rgba(0,0,0,0.2);
}
.contactform .selectbox {
	position: relative;
	display: block;
}
.contactform .selectbox::after {
	position: absolute;
	top:50%;
	right:15px;
	content:'';
	width: 0;
	height: 0;
	margin:-4px 0 0 0;
	border-style: solid;
	border-width: 8px 4px 0 4px;
	border-color: #000000 transparent transparent transparent;
}


/* orderページ用 */
span.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 0;
}
.contactform input[type="checkbox"] {
	display:none;
}
.checkbox-itemorder .wpcf7-checkbox,
.checkbox-itemorder2 .wpcf7-checkbox {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-moz-justify-content: flex-start;
	-ms-justify-content: flex-start;
	justify-content: flex-start;
	-ms-flex-pack: flex-start;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
	padding:15px 0 0 0;
}
.checkbox-itemorder .wpcf7-list-item,
.checkbox-itemorder2 .wpcf7-list-item {
	display: block;
	width:32%;
	margin:0 2% 15px 0;
	position: relative;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(3n),
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(3n) {
	margin:0 0 15px 0;
}
.checkbox-itemorder .wpcf7-list-item .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item .wpcf7-list-item-label {
	display: block;
	width:100%;
	height:180px;
	padding:15px 5px;
	text-align: center;
	border:1px solid #ccc;
	cursor:pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.checkbox-itemorder .wpcf7-list-item:hover .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:hover .wpcf7-list-item-label {
	box-shadow:0 0 4px rgba(0,0,0,0.3);
}
.checkbox-itemorder .wpcf7-list-item input:checked + .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item input:checked + .wpcf7-list-item-label {
	border:4px solid #c5151d;
	box-shadow:0 0 10px rgba(0,0,0,0.7);
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(1) .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(1) .wpcf7-list-item-label {
	background:url(../img/menu/product1.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(2) .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(2) .wpcf7-list-item-label {
	background:url(../img/menu/product2.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(3) .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(3) .wpcf7-list-item-label {
	background:url(../img/menu/product3.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(4) .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(4) .wpcf7-list-item-label {
	background:url(../img/menu/product4.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(5) .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(5) .wpcf7-list-item-label {
	background:url(../img/menu/product5.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(6) .wpcf7-list-item-label,
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(6) .wpcf7-list-item-label {
	background:url(../img/menu/product6.png) no-repeat center center;
	background-size:180px auto;
}

.checkbox-itemorder .wpcf7-list-item::after,
.checkbox-itemorder2 .wpcf7-list-item::after {
	width:100%;
	padding:12px 0;
	position: absolute;
	bottom:0;
	left:0;
	text-align: center;
	font-size:1.2rem;
	color:#FFF;
	background:rgba(0,76,131,0.7);
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(1)::after {
	content:'￥2,750円(税込)';
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(2)::after {
	content:'￥4,730円(税込)';
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(3)::after {
	content:'￥4,730円(税込)';
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(4)::after {
	content:'￥11,000円(税込)';
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(5)::after {
	content:'￥16,500円(税込)';
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(6)::after {
	content:'￥3,300円(税込)';
}

.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(1)::after {
	content:'定価￥2,750円(税込)';
}
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(2)::after {
	content:'定価￥4,730円(税込)';
}
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(3)::after {
	content:'定価￥4,730円(税込)';
}
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(4)::after {
	content:'定価￥11,000円(税込)';
}
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(5)::after {
	content:'定価￥16,500円(税込)';
}
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(6)::after {
	content:'定価￥3,300円(税込)';
}



.contactform input[type="submit"] {
	display: block;
	font-size:1.8rem;
	font-weight:400;
	text-align: center;
	padding:15px 20px;
	width:400px;
	color:#FFF;
	border:none;
	border-radius:6px;
	background:#004C83;
	-webkit-appearance:none;
	appearance:none;
	margin:10px auto;
	cursor:pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.contactform input[type="submit"]:hover {
	outline: none;
	color:#004C83;
	background:#E8E8E8;
}
.contactform input[type="submit"]:active {
	outline: none;
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(199,206,221,0.8) inset;
}
.wpcf7-not-valid-tip {
	display:inline-block;
	padding:10px 0 0 0;
}

/* =archive
-------------------------------------------------------------- */
.archive::after {
	content:'';
	width:30%;
	height:auto;
}
.archive li {
	width:30%;
	margin:0 0 40px 0;
	position: relative;
}
.archive li figure {
	width:100%;
	height:auto;
}
.archive li figure img {
	display: block;
	width:100%;
	height:auto;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.archive li:hover figure img {
	opacity:0.5;
}
.archive li time {
	display: block;
	position: relative;
	text-transform: uppercase;
	font-size:1.5rem;
	color:#666;
	z-index:5;
	padding:0 0 12px 0;
}
.archive li h2 {
	display: block;
	font-size:1.7rem;
	line-height:1.8em;
	color:#3F4551;
}
/* tablenav */
.pagenav.flex {
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
}
.page-numbers {
	width:40px;
	height:40px;
	background:#FFF;
	text-align: center;
	margin:0 8px;
	font-size:2rem;
	padding:10px 0 0 0;
	border:1px solid #777;
	color:#777;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.page-numbers:hover {
	border:1px solid #333;
	color:#333;
}
.page-numbers.current {
	border:1px solid #ccc;
	color:#ccc;
}
.pagenav .prev,
.pagenav .next {
	display:none;
}
.page-numbers.dots {
	box-shadow:none;
}

/* =single
-------------------------------------------------------------- */
.profile dt {
	width:30%;
	background:#004C83;
	color:#FFF;
	padding:15px;
	font-size:1.6rem;
	line-height: 1.5em;
	margin:0 0 15px 0;
}
.profile dd {
	width:68%;
	background:#f5f5f5;
	color:#000;
	padding:15px;
	font-size:1.6rem;
	line-height: 1.5em;
	margin:0 0 15px 0;
}
.title2.singletitle {
	text-align: left;
}
#single h2 {
	display: block;
	font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size:30px;
	padding:18px 0;
	color:#3F4551;
	margin:0 auto 60px;
	border-top:1px solid #DCDFE2;
	border-bottom:1px solid #DCDFE2;
}
#single h3 {
	display: block;
	font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size:24px;
	padding:0 0 18px 0;
	color:#3F4551;
	margin:0 auto 60px;
	border-bottom:1px solid #DCDFE2;
}
#single h4 {
	display: block;
	width:90%;
	font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size:22px;
	padding:0 0 18px 0;
	color:#3F4551;
	margin:0 auto 60px;
	border-bottom:1px solid #DCDFE2;
}
#single p {
	width:90%;
	font-size:18px;
	line-height:2em;
	margin:0 auto 60px;
}
#single figure {
	margin:0 auto 60px;
}
#single img {
	max-width:100%;
	height:auto;
}
#single .imgbox img {
	margin:0 auto 15px;
}
#single .imgbox p.quoteimg {
	width:100%;
	font-size:12px;
	line-height: 1.3em;
	color:#B7935F;
}
#single ul, .#single ol {
	width:90%;
	margin:0 auto 60px;
	font-size:18px;
	line-height:2em;
}
#single ul > li {
	position: relative;
	padding: 8px 0 8px 34px;
	list-style-type: none!important;
}
#single ul > li:before {
	content:'';
	position: absolute;
	top:25px;
	left:0;
	width:18px;
	height:1px;
	background:#3F4551;
}
#single ol {
	 counter-reset:number; /*数字をリセット*/
}
#single ol > li {
	position: relative;
	padding: 8px 0 8px 34px;
	list-style-type: none!important;
}
#single ol > li:before {
	content:'';
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top:25px;
	left:0;
	font-family: 'Oswald', sans-serif;
	font-weight:500;
	font-size:22px;
	color:#3F4551;
	opacity:0.5;
	margin:-18px 0 0 0;
}
#single ol > li:after {
	content:'';
	position: absolute;
	top:25px;
	left:15px;
	width:8px;
	height:1px;
	background:#3F4551;
}

#single p a {
	color:#B7935F;
	padding:0 0 1px 0;
	position: relative;
}
#single p a::after {
	content:'';
	position: absolute;
	bottom:0;
	left:0;
	width:0%;
	height:1px;
	background:#B7935F;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
#single p a:hover::after {
	width:100%;
}
#single .marker {
	background: linear-gradient(transparent 60%, rgba(239,204,154,0.5) 60%);
}
#single blockquote {
	width:90%;
	margin:0 auto 60px;
	border:1px solid #DCDFE2;
	padding:40px 40px 30px 40px;
	font-size:16px;
	line-height:1.6em;
	position: relative;
}
#single blockquote::after {
	content:'“';
	position: absolute;
	top:10px;
	left:25px;
	font-family: 'Oswald', sans-serif;
	font-weight:600;
	color:#3F4551;
	font-size:80px;
}
#single blockquote p {
	width:100%;
	font-size:16px;
	line-height:1.6em;
	margin:0;
}
#single blockquote cite {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-weight:400;
	font-style:normal;
	font-size:14px;
	color:#D6B786;
	padding:15px 0 0 0;
}
#single blockquote cite a {
	color:#D6B786;
	text-decoration:underline;
}
#single .w_b_quote {
	font-size:16px;
	line-height:1.5em;
	padding:12px;
}
#single span.void {
	display: block;
	padding:0 0 60px 0;
}
#single .syntaxhighlighter {
	margin:0 auto 60px !important;
}
#single .syntaxhighlighter table td.code .line {
	padding:2px 1em !important;
}
#single .syntaxhighlighter table td.gutter .line {
	padding:2px 0.5em 2px 1em !important;
}
#single a.singlebtn {
	display: block;
	font-size:22px;
	text-align: center;
	padding:18px 0;
	width:400px;
	color:#3F4551;
	border-top:1px solid #FFF;
	border-left:1px solid #FFF;
	border-radius:6px;
	background:#F0F1F7;
	margin:0 auto 60px;
	box-shadow:9px 9px 7px rgba(199,206,221,0.8), -9px -9px 7px rgba(255,255,255,0.8);
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
#single a.singlebtn:hover {
	box-shadow:3px 3px 2px rgba(199,206,221,0.8), -3px -3px 2px rgba(255,255,255,0.8);
}
#single a.singlebtn:active {
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(199,206,221,0.8) inset;
}


/*embed*/
.wp-embedded-content {
	width: 100%;
	margin:0 auto 60px;
}


/* =sidebar
-------------------------------------------------------------- */
.sidebar {
	width:34%;
	padding:0 0 0 10%;
	border-left:1px solid #DCDFE2;
	position: relative;
}
.aside_title {
	font-size:24px;
	color:#D6B786;
	padding:0 0 50px 0;
}
.side_archive {
	counter-reset:number; /*数字をリセット*/
	padding:0 0 50px 0;
}
.side_archive li {
	position: relative;
	margin:0 auto 80px;
}
.side_archive li:before {
	content:'';
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top:0;
	right:30px;
	font-family: 'Oswald', sans-serif;
	font-weight:500;
	font-size:62px;
	color:#3F4551;
	opacity:0.5;
	margin:-40px 0 0 0;
}
.side_archive li img {
	display: block;
	width:100%;
	height:auto;
}
.side_archive li .postdate {
	font-size:16px;
	color:#3F4551;
	padding:15px 0;
}
.side_archive li h2 {
	display: block;
	font-size:20px;
	line-height:1.3em;
	color:#3F4551;
}
.sticky {
	position:sticky;
	top:10px;
}
.side_menu {
	padding:0 0 50px 0;
}
.side_menu li a {
	display: block;
	padding:8px 0 8px 30px;
	color:#3F4551;
	font-size:20px;
	position: relative;
	text-transform:uppercase;
}
.side_menu li a::before {
	content:'';
	width:10px;
	height:1px;
	background:#3F4551;
	position: absolute;
	top:50%;
	left:0;
}
.side_menu li a:hover {
	display: block;
	font-size:20px;
	color:#3F4551;
}

/* =related
-------------------------------------------------------------- */
.related_archive li {
	width:46%;
	margin: 0 0 50px 0;
}
.related_archive li figure {
	display: block;
	width:33%;
}
.related_archive li figure img {
	display: block;
	width:100%;
	height:auto;
}
.related_archive li .postbox {
	width:60%;
}
.related_archive li .postbox .postdate {
	font-size:16px;
	color:#3F4551;
	padding:0 0 15px 0;
}
.related_archive li .postbox h2 {
	display: block;
	font-size:1.35vw;
	line-height:1.3em;
	color:#3F4551;
}



/* =search
-------------------------------------------------------------- */
.searchform {
	margin:0 0 50px 0;
}
.searchform .formbox {
	position: relative;
	margin:0 auto 50px;
}
.searchform button {
	display: block;
	position: absolute;
	top:50%;
	right:20px;
	border:none;
	outline: none;
	-webkit-appearance:none;
	appearance:none;
	font-size:30px;
	width:40px;
	height:36px;
	cursor: pointer;
	padding:0;
	background:transparent;
	margin:-18px 0 0 0;
	color:rgba(63,69,81,0.5);
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.searchform button:hover {
	color:rgba(63,69,81,1);
}

/* =footer
-------------------------------------------------------------- */
.swiper-container {
	width:100%;
	padding:0 50px;
}
.swiper-wrapper {
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
.swiper-container .swiper-slide {
	width:30%;
}
.swiper-container .swiper-slide .thumb {
	width:100%;
	overflow:hidden;
	border-radius:10px;
	box-shadow:9px 9px 20px rgba(193,176,154,0.8);
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.swiper-container .swiper-slide .thumb img {
	display: block;
	width:100%;
	height:auto;
}
.swiper-container .swiper-slide:hover .thumb {
	box-shadow:4px 4px 5px rgba(193,176,154,0.8);
}
.swiper-container .swiper-slide p {
	text-align: center;
	font-size:1.8rem;
	padding:22px 0;
}
footer {
	width:100%;
	background:#004C83;
	padding:70px 0;
}
footer .foot_left{
	width:35%;
}
footer .foot_right {
	width:65%;
}
footer .foot_left h1 {
	display: block;
	width:140px;
}
footer .foot_left h1 img {
	display: block;
	width:100%;
	height:auto;
}
footer .foot_left .sns {
	width:-webkit-calc(100% - 180px);
	width:-moz-calc(100% - 180px);
	width:-ms-calc(100% - 180px);
	width:calc(100% - 180px);
}
footer .foot_left .sns.flex {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-justify-content:flex-start;
	-moz-justify-content:flex-start;
	-ms-justify-content:flex-start;
	justify-content:flex-start;
}
footer .foot_left .sns a {
	font-size:32px;
	color:#FFF;
	margin:0 20px 0 0;
}
footer .foot_left .sns a:hover {
	opacity:0.5;
}
footer .foot_right .footnav.flex {
	-webkit-justify-content:flex-end;
	-moz-justify-content:flex-end;
	-ms-justify-content:flex-end;
	justify-content:flex-end;
}
footer .foot_right .footnav li a {
	display:inline-block;
	margin:0 0 0 50px;
	color:#FFF;
	font-size:1.4rem;
	position: relative;
}
footer .foot_right .footnav li a:hover {
	text-decoration:underline;
}
footer .foot_right .footnav li a::after {
	content:'';
	position: absolute;
	top:0;
	right:-25px;
	width:1px;
	height:100%;
	background:#FFF;
}
footer .foot_right .footnav li:last-of-type a::after {
	content:none;
}
.copyright {
	color:#FFF;
	text-align:right;
	font-size:1.2rem;
	padding:15px 0 0 0;
}


#pagetop {
	position: fixed;
	z-index:1000;
	bottom:2em;
	right:2em;
	width:30px;
	height:100px;
}
#pagetop span::before {
	content:'';
	bottom:0;
	left:50%;
	display: block;
	position: absolute;
	z-index:1001;
	width:1px;
	height:100px;
	background:#3F4551;
}
#pagetop span::after {
	content:'';
	top:0;
	left:50%;
	display: block;
	position: absolute;
	z-index:1001;
	width:32px;
	height:1px;
	margin:0 0 0 1px;
	background:#3F4551;
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(60deg);
	   -moz-transform: rotate(60deg);
	    -ms-transform: rotate(60deg);
	     -o-transform: rotate(60deg);
	        transform: rotate(60deg);
}
.grecaptcha-badge { visibility: hidden; }