@charset "UTF-8";
@font-face{
	font-family:'Noto Sans CJK JP Subset';
	font-style:normal;
	font-weight:400;
	src:
		local('Noto Sans CJK JP'),
		local('NotoSansCJKjp-Regular'),
		local('NotoSansJP-Regular'),
		url('../../common/fonts/NotoSansCJKjp-Regular.woff') format('woff'),
		url('../../common/fonts/NotoSansCJKjp-Regular.ttf') format('truetype');
}
@font-face{
	font-family:'Noto Sans CJK JP Subset';
	font-style:normal;
	font-weight:700;
	src:
		local('Noto Sans CJK JP'),
		local('NotoSansCJKjp-Bold'),
		local('NotoSansJP-Bold'),
		url('../../common/fonts/NotoSansCJKjp-Bold.woff') format('woff'),
		url('../../common/fonts/NotoSansCJKjp-Bold.ttf') format('truetype');
}

/* CSS Document */
*{
	margin:0px;
	padding:0px;
	}
html {
	margin:0px;
	padding:0px;
	overflow-y : scroll;
	font-size:62.5%;
	}
body {
	margin:0 0 0 0;
	padding:0;
	font-size:1.4rem;
	font-family:'Noto Sans JP', 'Noto Sans','Noto Sans CJK JP', 'Noto Sans CJK JP Subset', 'Yu Gothic', '游ゴシック', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', sans-serif;
	font-weight:400;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
/* IE6 */
* html .clearfix { zoom: 1;}
/* IE7 */
*:first-child+html .clearfix {zoom: 1;}

h1, .h2, .h3, .h4, .h5, .h6 {
	margin:0px;
	padding: 0px;
	clear:both;
	font-size:100%;
	line-height:160%;
	font-weight:normal;
	}
*,*::before,*::after{
	box-sizing:border-box;
}
img {
	border:none;
	vertical-align:top;
	margin:0;
	padding:0;
	}
p {
	margin:0;
	padding:0;
	font-size:100%;
	line-height:160%;
	}
a , a:link , a:visited {
	text-decoration:none;
	}
a:hover {
	-ms-filter: "alpha( opacity=60 )";
	filter: alpha( opacity=60 );
	opacity: 0.6;
}
a img:hover {
	-ms-filter: "alpha( opacity=60 )";
	filter: alpha( opacity=60 );
	opacity: 0.6;
}
header,footer,section,aside,nav,article,main{
	display:block;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}

ul {
	list-style-type: none;
}
.wrapper {
	position: relative;
	overflow-x: hidden;
}
.ctsArea{
	width: 100%;
	margin: 0 auto;
}
.ctsDetailinner{
	width: 1040px;
	margin: 0 auto;
	padding: 40px 0;
}
/* iPad背景切れ対策 */
@media screen and (min-width:641px){
	body{
		min-width:1200px;
	}
}

/* フォント*/
.fontEN {
	font-family: sans-serif;
	letter-spacing:0em;
	transform: scale(1 , 0.7); 
	}
.bold {
	font-weight:bold;
	}

/*PC・スマホ 表示/非表示*/
.sp {
	display:none;
	}

@media screen and (max-width: 640px)  {
.sp {
	display:block;
	}
.pc {
	display:none;
	}
}
/*アレルゲン情報一覧リンク
------------------------------------------------------------------------------------------------------*/
a.allergyLink {
    padding: 0 0 0 20px;
    color: #000;
    position: relative;
	font-size: 1.4rem;
	text-decoration:underline;
}
.allergyLink::before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #7f491b;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
	margin: 1px 0 0 0;
}
.allergyLink::after {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    left: 5px;
	margin: 1px 0 0 0;
}
@media screen and (max-width: 640px) {
	a.allergyLink {
		padding: 0 0 0 20px;
		color: #000;
		position: relative;
		font-size: 1.2rem;
	}
}
/*header
------------------------------------------------------------------------------------------------------*/
header{
	position: relative;
}
.headerInner{
	display: flex;
	height: 58px;
	padding: 0 20px;
}
.headerInner .cpLogo{
	display: inline-block;
	width: 170px;
	padding: 10px 0 0 0;
}
.headerInner .cpLogo a{
	width: 100%;
}
.headerInner .navBtnlist {
	position: absolute;
	top: 0;
	right: 65px;
}
.headerInner .gNaviIcon {
	position:fixed;
	top:0;
	right: 0;
	z-index: 500;
	padding: 25px 25px;
	cursor: pointer;
	background: #fff;
/*	z-index: 101;*/	
}
a.gNaviIcon.active {
	background: #fff;
}
.gNaviIcon,
.gNaviIcon span {
	display: inline-block;
	transition: all .4s;
}
.gNaviIcon span {
	position: absolute;
	top: 18px;
	left: 50%;
	width: 24px;
	height: 2.5px;
	background-color: #c49100;
	margin: 0 0 0 -12px;
}
.gNaviIcon span:nth-of-type(1) {
	top: 16px;
}
.gNaviIcon span:nth-of-type(2) {
	top: 24px;
}
.gNaviIcon span:nth-of-type(3) {
	top: 32px;
}
.gNaviIcon span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 2.5px;
	background-color: #c49100;
	transition: all .4s;
}
.gNaviIcon.active span:nth-of-type(2)::after {
	background-color: #c49100;
}
.gNaviIcon.active span:nth-of-type(1) {
	transform: translate(50%) scale(0);
}
.gNaviIcon.active span:nth-of-type(2) {
	transform: rotate(45deg);
}
.gNaviIcon.active span:nth-of-type(2)::after {
	transform: rotate(90deg);
}
.gNaviIcon.active span:nth-of-type(3) {
	transform: translate(-50%) scale(0);
}
.gNaviAreaOut {
	position:absolute;
	top: 0;
}
.gNaviArea {
	width: 100%;
	background:rgba(255,255,255,0.95);
	position:fixed;
	top: 0;
	left: 0;
	transform: translateY(-101vh);
	opacity: 0;
	transition: 0.3s;
	z-index: 499;
}
.gNaviArea.active{
	transform: translateY(0vh);
	opacity: 1;
}
.gNaviInner {
	width: 100%;
	max-width: 770px;
	margin: 0 auto;
	padding: 70px 20px 40px 20px;
}
.gNaviInner .titLogo{
	margin: 0 0 40px 0;
	max-width: 500px;
}
.gNaviInner .titLogo img{
	width: 100%;
}
.gNaviInner .gNaviList{
	margin: 0 0 10px 0;
}
.gNaviInner ul >lo >a,
.gNaviInner .gNaviList li a{
	display: inline-block;
	color: #000;
	position: relative;
	font-size: 118%;
	font-weight: bold;
	width: 100%;
}
.gNaviInner .gNaviList li a {
	padding: 10px 10px 10px 35px;
	border-bottom: 1px solid #000;
}
.gNaviInner .gNaviList li a:before{
	content: '';
	display: block;
	position: absolute;
	top: 55%;
	left: 10px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #7f491b;
	border-right: 2px solid #7f491b;
	transform: rotate(45deg);;
	transition: transform 0.3s;
	margin: -7px 0 0 0;
}
.gNaviInner .menuListTit {
	color: #7f491b;
	font-weight: bold;
	font-size: 2rem;
	border-bottom: 1px solid #000;
	margin: 0 0 10px 0;
}
.gNaviInner .menuList {
	margin: 30px 0 0 0;
}
.gNaviInner .menuList li a {
	display: inline-block;
	position: relative;
	font-size: 118%;
	font-weight: bold;
	background: #7f491b;
	color: #fff;
	width: 100%;
	text-align: center;
	padding: 10px 0;
}
.gNaviInner .menuList.clm2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gNaviInner .menuList.clm2 li {
	width: 49%;
	margin: 0px 0 10px 0;	
}
.gNaviInner .menuList.clm2 li a{
	display: inline-block;	
}
.gNaviInner .menuList.clm2 li:nth-last-child(2):nth-child(odd){
	margin: 0px 0 34px 0;	
}
/*IE*/
/*
@media all and (-ms-high-contrast:none){
_:-ms-lang(x)::-ms-backdrop,
}
*/
@media screen and (max-width: 640px) {
	.headerInner{
	width: 100%;
	padding: 0 10px;
	}
	.headerInner .cpLogo{
	width: 120px;
	padding: 10px 0 0 0;
	}
	.headerInner .cpLogo img{
	width:100%;
	}
	.gNaviInner {
	padding: 50px 20px 40px 20px;
	}
	.gNaviInner ul >lo >a,
	.gNaviInner .gNaviList li a {
	font-size: 1.2rem;
	}
	.gNaviInner .titLogo {
	margin: 0 0 40px 0;
	width: 100%;
	max-width: 350px;
	}
	.gNaviInner .menuListTit {
	font-size: 1.6rem;
	margin: 0 0 5px 0;
	}
	.gNaviInner .menuList li a {
	font-size: 1.3rem;
	}
	.gNaviInner .gNaviList li a:before {
	content: '';
	position: absolute;
	top: 58%;
	left: 10px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #7f491b;
	border-right: 2px solid #7f491b;
	transform: rotate(45deg);
	transition: transform 0.3s;
	margin: -7px 0 0 0;
	}
	.headerInner .navBtnlist {
	display: none;
}
}


/*kvArea
-----------------------------------------*/
.kvArea{
	width: 100%;
	height: 640px;
	position: relative;
	min-width: 1200px;
}
.kvArea .kvAreaInner .kvBnrArea .softcreamTop{
	width: 220px;
	position: absolute;
	bottom: 20px;
	right: -50px;
}
.kvArea .kvAreaInner .kvBnrArea .softcreamTop a{
	display: block;
	width: 100%;
	height: 100%;
}
.kvArea .kvAreaInner .kvBnrArea .softcreamTop img{
	width: 100%;
}
.kvAreaInner {
	width: 1040px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}
.kvAreaInner .kvtitArea{
	display: block;
	width: 500px;
	position: absolute;
	top: 45%;
	transform: translate(0, -50%);
}
.kvAreaInner .kvtitArea img{
	width: 100%;
}
.kvAreaInner .kvtitArea .tit{
	margin: 0 0 50px 0;
}
.kvAreaInner .kvBg01{
	position: absolute;
	transform:rotate(-20deg);
	top: 130px;
	right: 20px;
	z-index: -1;
	filter: drop-shadow(-20px 5px 7px rgba(160, 160, 160, 0.3));
}
.kvAreaInner .kvBg02{
	position: absolute;
	transform:rotate(20deg); 
	top: 30px;
	right: -60px;
	z-index: -1;
	filter: drop-shadow(-10px 10px 5px rgba(160, 160, 160, 0.3));
}
.kvAreaInner .kvBg03{
	position: absolute;
	transform:rotate(-40deg); 
	bottom: -50px;
	left: 50px;
	z-index: -1;
	filter: drop-shadow(-8px 5px 3px rgba(160, 160, 160, 0.5));
}
.kvAreaInner .kvBg04{
	position: absolute;
	transform:rotate(30deg); 
	top: 20px;
	left:-120px;
	z-index: -1;
	filter: drop-shadow(8px 5px 3px rgba(160, 160, 160, 0.4));
}
.kvAreaInner .kvBg05{
	position: absolute;
	transform:rotate(160deg); 
	width: 134px;
	top: 30px;
	left:320px;
	z-index: -2;
}
.kvAreaInner .kvBg06{
	position: absolute;
	transform:rotate(330deg); 
	width: 136px;
	bottom: 100px;
	left:360px;
	z-index: -2;
}
.kvAreaInner .kvBg07{
	position: absolute;
	transform:rotate(350deg); 
	width: 90px;
	top: 35px;
	right:230px;
	z-index: -2;
}
.kvAreaInner .kvBg08{
	position: absolute;
	transform:rotate(360deg); 
	width: 127px;
	bottom: -50px;
	right:-80px;
	z-index: -2;
}
/*IE*/
/*
@media all and (-ms-high-contrast:none){
_:-ms-lang(x)::-ms-backdrop,
}
*/
@media screen and (max-width: 640px) {
	.kvArea{
	min-width: 100%;
	height: 570px;
	}
	.kvAreaInner {
	width: 90%;
	height: 100%;
	margin: 0 auto;
	}
	.kvAreaInner .kvtitArea{
	justify-content: center;
	width: 90%;
	max-width: 350px;
	min-width: 280px;
	position: absolute;
	top: 40px;
	left: 50%;
	transform: translate(-50%, 0);
	}
	.kvAreaInner .kvtitArea img{
	width: 100%;
	}
	.kvAreaInner .kvtitArea .tit{
	margin: 0 0 30px 0;
	}
	.kvAreaInner .kvBg01{
	position: absolute;
	width: 290px; 
	transform:rotate(20deg); 
	top: auto;
	bottom: -130px;
	right: -30px;
	filter: drop-shadow(-10px 8px 7px rgba(160, 160, 160, 0.3));
	}
	.kvAreaInner .kvBg02{
	position: absolute;
	width: 130px; 
	transform:rotate(-20deg); 
	top: auto;
	right: auto;
	left: 0;
	bottom: 100px;
	z-index: -2;
	}
	.kvAreaInner .kvBg03{
	position: absolute;
	transform:rotate(-30deg); 
	width: 100px;
	bottom: auto;
	top:0px;
	left: auto;
	right: -65px;
	filter: drop-shadow(-2px 5px 3px rgba(160, 160, 160, 0.5));
	}
	.kvAreaInner .kvBg04{
	position: absolute;
	transform:rotate(30deg); 
	top: 20px;
	left:-250px;
	}
	.kvAreaInner .kvBg05{
	position: absolute;
	width: 70px;
	transform:rotate(110deg); 
	top: 20px;
	left:20px;
	right: auto;
	}
	.kvAreaInner .kvBg06{
	position: absolute;
	width: 80px;
	transform:rotate(290deg); 
	bottom: 30px;
	left:0;
	}
	.kvAreaInner .kvBg07{
	position: absolute;
	width: 70px;
	transform:rotate(20deg); 
	top: 170px;
	right:-40px;
	}
	.kvAreaInner .kvBg08{
	width: 70px;
	bottom: 30px;
	right:-30px;
	}
}
/*ソフトクリーム丸バナー位置調整*/
@media screen and (max-width: 320px) {
	.kvArea .kvAreaInner .kvBnrArea .softcreamTop{
	width: 160px;
	position: absolute;
	bottom: -50px;
	right: 50%;
	transform: translate(50%,0);
	}
}

/*各章 共通見出しパーツ
------------------------------------------------------------------------------------------------------*/
.ctsDetail .ctsDetailinner .titArea{
	text-align: center;
}
.ctsDetail .ctsDetailinner .whiteTit{
	color: #fff;
} 
.ctsDetail .ctsDetailinner .blackTit{
	color: #000;
}  
.ctsDetail .ctsDetailinner .titArea img{
	width: 45px;
	margin: 0 0 12px 0;
}
.ctsDetail .ctsDetailinner .titArea .tit{
	font-size: 3.4rem;
	margin:0 0 36px 0;
	line-height: 0.8;
	letter-spacing: 0.2rem;
} 
.ctsDetail .ctsDetailinner .titArea span{
	font-size: 1.8rem;
	letter-spacing: 0.1rem;
} 
.ctsDetail .ctsDetailinner .blackTit span{
	color: #c39000;
} 
.ctsDetail .ctsDetailinner .whiteTit span{
	color: #d8bc84;
} 
.ctsDetail .ctsDetailinner .titArea .txt{
	font-size: 1.4rem;
	line-height: 1.8;
} 
.ctsDetail .ctsDetailinner {
	width: 1040px;
	margin: 0 auto;
	padding: 70px 0 40px 0;
}
.ctsDetail .ctsDetailinner .titArea{
	text-align: center;
	margin: 0 0 30px 0;
}
@media screen and (max-width: 640px) {
	.ctsDetail .ctsDetailinner {
	width: 100%;
	padding: 80px 20px 80px 20px;
	margin: 0 auto;
	}
	.ctsDetail .ctsDetailinner .titArea .tit{
	font-size: 2.5rem;
	line-height: 1.1;
	margin: 0 0 20px 0;
	}
	.ctsDetail .ctsDetailinner .titArea span{
	font-size: 1.4rem;
	} 
	.ctsDetail .ctsDetailinner .titArea img{
	width: 35px;
	}
	.ctsDetail .ctsDetailinner .titArea .txt{
	font-size: 1.2rem;
	} 
}
/* ラインナップ
------------------------------------------------------------------------------------------------------*/
#about {
	background: url("../images/about_bg_pc.png") no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 526px;
}
.abCtsDetail {
	width: 100%;
	height: 100%;
}
.abCtsDetailinner {
	width: 1040px;
	height: 100%;
	margin: 0 auto;
	padding: 100px 0 160px 0;
	position: relative;
	z-index: 1;
}
.abCtsDetailinner .softcreamTop{
	width: 200px;
	position: absolute;
	top: -90px;
	right: -8px;
	z-index: 1;
}
.abCtsDetailinner .softcreamTop img{
	width: 100%;
	}
.abCtsDetailinner .abnav {
	height: 50px;
	width: 1040px;
	background: #7f491b;
	position: absolute;
	bottom: 50px;
	z-index: 3;
	font-size: 1.2rem;
	font-weight: bold;
}
.abCtsDetailinner .abnav .abnavinner {
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
.abCtsDetailinner .abnav .abnavinner ul {
	height: 100%;
	display: flex;
	justify-content: center;
	margin: 0 10px 0 10px;
	padding: 0 0 0 20px;
	box-sizing:border-box;
}
.abCtsDetailinner .abnav .abnavinner ul li {
	position: relative;
	display: flex;
	justify-content: center;
}
.abCtsDetailinner .abnav .abnavinner ul li::after {
	content: "";
	display: block;
	width: 1px;
	height: 20px;
	background: #fff;
	position: absolute;
	right: -1px;
	top: calc((100% - 20px)/2);
}
.abCtsDetailinner .abnav .abnavinner ul li:last-child::after {
	content: none;
}
.abnav .abnavinner ul li:last-child a{
	padding: 0 0 0 30px;
}
.abnav .abnavinner ul li:first-child a{
	padding: 0 20px 0 0;
}
.abnav a {
	display: flex;
	justify-content: center;
	color: #fff;
	padding: 0 20px 0 30px;
}
.abnav span {
	display: flex;
	align-items: center;
	position: relative;
}
.abnav span::before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: -18px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: #ffffff transparent transparent transparent;
}
.abInfoArea {
	width: 100%;
	height: 100%;
	position: relative;
}
.abInfoArea .tit {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
	color: #7f491b;
	margin:0 0 20px 0;
}
.abInfoArea .txt {
	font-size: 1.4rem;
	line-height: 1.8;
}
.abTxtArea {
	position: absolute;
	top:0;
	z-index: 2;
}
.abInfoArea .abPh {
	width: 700px;
	position: absolute;
	top:-150px;
	right: -70px;
	z-index: 1;
}
.abInfoArea .abPh img{
	width: 100%;
}
@media screen and (max-width: 640px) {
	#about {
	background: url("../images/about_bg_sp.png") no-repeat center top;
	background-size: cover;
	height: 100%;
	}
	.abCtsDetailinner {
	width: 90%;
	margin: 0 auto;
	padding: 100px 0 50px 0;
	position: relative;
	z-index: 1;
	}
	.abCtsDetailinner .softcreamTop{
	width: 150px;
	position: absolute;
	top: -90px;
	right: -8px;
	}
@media screen and (max-width: 320px) {
	.abCtsDetailinner .softcreamTop{
	width: 150px;
	position: absolute;
	top: -90px;
	right: 50%;
	transform: translate(50%,0);
	}
}
	.abInfoArea {
	display: block;
	}
	.abInfoArea .tit {
	font-size: 1.7rem;
	line-height: 1.6;
	text-align: center;
	margin:0 0 20px 0;
	}
	.abInfoArea .txt {
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.8;
	}
	.abTxtArea {
	position: static;
	margin: 0 0 10px 0;
	}
	.abInfoArea .abPh {
	position: static;
	width: 100%;
	}
	.abCtsDetailinner .abnav{
	position: static;
	width: 100%;
	margin: 0 auto;
	height: 100%;
	}
	.abCtsDetailinner .abnav .abnavinner{
	width: 100%;
	}
	.abCtsDetailinner .abnav .abnavinner ul{
	padding: 10px 0;
	flex-wrap: wrap;
	display: flex;
	justify-content: center;
	}
	.abCtsDetailinner .abnav .abnavinner ul li{
	text-align: center;
	width: 30%;
	line-height: 1.2;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	white-space: normal;
	padding: 0 3px 0 3px;
	}
	.abCtsDetailinner .abnav .abnavinner ul li::after{
	content: none;
	}
	.abCtsDetailinner .abnav ul li:nth-child(3n+1):nth-last-child(-n+3),
	.abCtsDetailinner .abnav ul li:nth-child(3n+1):nth-last-child(-n+3) ~ li {
	border-bottom:none;
	}
	.abCtsDetailinner .abnav ul li:nth-of-type(3n){
	border-right: none;
	}
	.abCtsDetailinner .abnav ul li a{
	font-size: 1.1rem;
	line-height: 1.2;
	padding: 10px 3px 20px 3px;
	display: inline-block;
	}
	.abCtsDetailinner .abnav ul li:first-of-type a{
	padding: 10px 0 20px 0 ;
	}
	.abCtsDetailinner .abnav ul li:last-of-type a {
	padding: 10px 3px 20px 3px ;
	}
	.abCtsDetailinner .abnav ul li:first-of-type a::before{
	content: '';
	position: absolute;
	top: auto;
	bottom: 10px;
	left: 50%;
	}
	.abnav span{
	white-space: normal;
	}
	.abnav span::before{
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	top: auto;
	transform: translate(-50%,0);
	}
}
/*------------------------------------------------------------------------------------------------------*/

/* ラインナップ
------------------------------------------------------------------------------------------------------*/
#lineUp01 {
	/* 背景 */
	background: url("../images/con_bg_01.png") no-repeat center top;
	background-size:cover;
	position: relative;
}
#lineUp01:before{
	content: '';
	background: url("../images/con_pattern_01.png") repeat-x center top;
	height: 35px;
	width: 100%;
	position: absolute;
	top:0;
}
#lineUp02 {
	/* 背景 */
	background: url("../images/con_bg_03.png") no-repeat center top;
	background-size:cover;
	position: relative;
}
#lineUp02:before{
	content: '';
	background: url("../images/con_pattern_04.png") repeat-x center top;
	height: 50px;
	width: 100%;
	position: absolute;
	top:0;
}
#lineUp03 {
	/* 背景 */
	background: url("../images/con_bg_02.png") no-repeat center top;
	background-size:cover;
	position: relative;
}
#lineUp03:before{
	content: '';
	background: url("../images/con_pattern_05.png") repeat-x center top;
	height: 50px;
	width: 100%;
	position: absolute;
	top:0;
}
#lineUp04 {
	/* 背景 */
	background: url("../images/con_bg_04.png") no-repeat center top;
	background-size:cover;
	position: relative;
}
#lineUp04:before{
	content: '';
	background: url("../images/con_pattern_03.png") repeat-x center top;
	height: 50px;
	width: 100%;
	position: absolute;
	top:0;
}
#lineUp05 {
	/* 背景 */
	background: url("../images/con_bg_02.png") no-repeat center top;
	background-size:cover;
	position: relative;
}
#lineUp05:before{
	content: '';
	background: url("../images/con_pattern_07.png") repeat-x center top;
	height: 50px;
	width: 100%;
	position: absolute;
	top:0;
}
#lineUp06 {
	/* 背景 */
	background: url("../images/con_bg_03.png") no-repeat center top;
	background-size:cover;
	position: relative;
}
#lineUp06:before{
	content: '';
	background: url("../images/con_pattern_06.png") repeat-x center top;
	height: 50px;
	width: 100%;
	position: absolute;
	top:0;
}
#lineUp07 {
	/* 背景 */
	background: url("../images/con_bg_table_01_pc.png") no-repeat left bottom;
	background-size:cover;
	position: relative;
}
#lineUp07:before{
	content: '';
	background: url("../images/con_pattern_02.png") repeat-x center top;
	height: 31px;
	width: 100%;
	position: absolute;
	top:0;
}
@media screen and (max-width: 640px) {
	#lineUp01:before{
	content: '';
	background-size: cover;
	height: 25px;
	}
	#lineUp02:before{
	content: '';
	background-size: cover;
	height: 40px;
	}
	#lineUp03:before{
	content: '';
	background-size: cover;
	height: 40px;
	}
	#lineUp04:before{
	content: '';
	background-size: cover;
	height: 40px;
	}
	#lineUp05:before{
	content: '';
	background-size: cover;
	height: 40px;
	}
	#lineUp06:before{
	content: '';
	background-size: cover;
	height: 40px;
	}
	#lineUp07 {
	color: #fff;
	/* 背景 */
	background: url("../images/con_bg_table_01_sp.png") no-repeat left bottom;
	background-size:cover;
	position: relative;
	}
	#lineUp07:before{
	content: '';
	background-size: cover;
	height: 25px;
	}
}
/*一列が1つの場合のリスト
--------------------------------------------*/
.infoArea .onelineUpItem {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}
.ctsDetailinner .infoArea .onelineUpItem > li{
	width: 230px;
	margin: 0 0 50px 0;
}
/*--------------------------------------------*/

/*一列が2つの場合のリスト
--------------------------------------------*/
.infoArea .twolineUpItem {
	width: 500px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}
.infoArea .twolineUpItem > li{
	width: calc((100% - 40px)/2);
}
.infoArea .twolineUpItem li:nth-of-type(2n){
	margin: 0 0 40px 0;
}
/*--------------------------------------------*/

/*一列が3つの場合のリスト
--------------------------------------------*/
.infoArea .threelineUpItem {
	width: 770px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}
.infoArea .threelineUpItem > li{
	width: calc((100% - 80px)/3);
}
.infoArea .threelineUpItem li:nth-of-type(3n){
	margin: 0 0 40px 0;
}
/*--------------------------------------------*/

/*一列が4つの場合のリスト
--------------------------------------------*/
.infoArea .fourlineUpItem {
	width: 1040px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}
.infoArea .fourlineUpItem > li{
	width: calc((100% - 120px)/4);
}
.infoArea .fourlineUpItem li:nth-of-type(4n){
	margin: 0 0 40px 0;
}
/*--------------------------------------------*/

.infoArea .lineUpItem > li {
	display: inline-block;
	margin: 0 40px 50px 0;
}
.infoArea .lineUpItem li .listphoto {
	display: block;
	width: 100%;
}
.infoArea .lineUpItem li .listphoto img {
	width: 100%;
}
.infoArea .lineUpItem li .listTxtArea {
	margin: 0 0 30px 0;
}
.infoArea .lineUpItem li .listTxtArea .tit {
	text-align: center;
	font-size: 1.7rem;
	font-weight: bold;
	margin: 0 0 10px 0;
}
.infoArea .lineUpItem li .listTxtArea .txt {
	text-align: justify;
	font-size: 1.3rem;
	line-height: 1.5;
}
.infoArea .lineUpItem li .blackTxtArea .tit {
	color: #c39000;
}
.infoArea .lineUpItem li .blackTxtArea .txt {
	color: #000;
}
.infoArea .lineUpItem li .whiteTxtArea .tit {
	color: #d8bc84;
}
.infoArea .lineUpItem li .whiteTxtArea .txt {
	color: #fff;
}
@media screen and (max-width: 640px) {
	.infoArea .lineUpItem,
	.infoArea .twolineUpItem,
	.infoArea .threelineUpItem,
	.infoArea .fourlineUpItem {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	.infoArea .onelineUpItem{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	}
	.infoArea .lineUpItem li,
	.ctsDetailinner .infoArea .onelineUpItem li,
	.infoArea .twolineUpItem li,
	.infoArea .threelineUpItem li,
	.infoArea .fourlineUpItem li{
	width: 46%;
	height: auto;
	min-height: auto;
	margin: 0 0 40px 0;
	}
	.ctsDetailinner .infoArea .onelineUpItem li {
	width: 46%;
	height: auto;
	min-height: auto;
	margin: 0 0 40px 0;
	}
	.infoArea .lineUpItem li img,
	.infoArea .onelineUpItem li img,
	.infoArea .twolineUpItem li img,
	.infoArea .threelineUpItem li img,
	.infoArea .fourlineUpItem li img{
	width: 100%;
	}
	.infoArea .twolineUpItem li:nth-of-type(2n),
	.infoArea .threelineUpItem li:nth-of-type(3n),
	.infoArea .fourlineUpItem li:nth-of-type(4n) {
	margin: 0 0 45px 0;
	}
	.infoArea .twolineUpItem li:last-child,
	.infoArea .twolineUpItem li:nth-last-child(2):nth-child(odd),
	.infoArea .threelineUpItem li:last-child,
	.infoArea .threelineUpItem li:nth-last-child(2):nth-child(odd),
	.infoArea .fourlineUpItem li:last-child,
	.infoArea .fourlineUpItem li:nth-last-child(2):nth-child(odd) {
	margin: 0;
	}
	.infoArea .lineUpItem li .listTxtArea .tit{
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	}
	.infoArea .lineUpItem li .listTxtArea .txt{
	font-size: 1.1rem;
}
}

/*リストボタン類
--------------------------------------------*/
.infoArea .lineUpItem li .listBtnArea{
	width: 113px;
	text-align: center;
	margin: 0 auto;
}
.btnA{
	width: 100%;
	background: #7f491b;
	text-align: center;
	display: inline-block;
	font-size: 1.3rem;
	line-height: 2;
	color: #fff;
}
.btnB{
	width: 100%;
	background: #ffde64;
	text-align: center;
	display: inline-block;
	font-size: 1.3rem;
	line-height: 2;
	color: #7e4a1b;
}
.btnC{
	width: 100%;
	background: #f06c61;
	background-image: linear-gradient(180deg, #f06c61 90%, #ca1c30 10%);
	text-align: center;
	border-radius: 50px;
	display: inline-block;
	/*box-shadow: 0 5px 0 #ca1c30;*/
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 3;
	color: #fff;
	cursor: pointer;
	padding: 0 0 3px 0;
	border: 3px solid #fff;
}
.btnC::before{
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 42%;
	left: 15px;
}
.btnC:active{
	/*box-shadow: none;*/
	background-image: none;
	transform: translateY(5px);
}
.btnD{
	width:345px;
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	line-height: 3;
	border-radius: 10px;
	background: #7e4a1b;
	position: relative;
}
.btnD:first-of-type{
	margin: 0 20px 0 0;
}
.btnD span{
	padding: 0 0 0 30px;
}
.btnD::before{
	content: "";
	 width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(0,-50%);
}
.btnD::after{
	content: "";
	width: 15px;
	height: 15px;
	border-top: 4px solid #7e4a1b;
	border-right: 4px solid #7e4a1b;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	left: 20px;
}
.btnF{
	font-size: 13px;
	line-height: 2.5;
	font-weight: bold;
	color: #fff;
	position: relative;
	display: inline-block;
	padding: 0 36px 0 16px;
	border-radius: 5px 5px 0 0;
}
.btnF::after{
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -4px 0 0 0;
}
.btnF:first-of-type{
	background: #00408f;
	margin: 0 5px 0 0;
}
.btnF:last-of-type{
	background: #ff8b02;
}
.btnE{
	font-size: 13px;
	line-height: 2.5;
	font-weight: bold;
	color: #fff;
	position: relative;
	display: inline-block;
	padding: 0 36px 0 16px;
	border-radius:0 0 5px 5px;
}
.btnE::after{
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -4px 0 0 0;
}
.btnE:first-of-type{
	background: #00408f;
	margin: 0 5px 0 0;
}
.btnE:last-of-type{
	background: #ff8b02;
}
.infoArea .lineUpItem li .connectionBtn{
	width: 230px;
	margin: 60px 0 0 0;
	position: relative;
	z-index: 1;
}
.infoArea .lineUpItem li .connectionBtn .txt{
	color: #f06c61;
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 1.2rem;
	position: absolute;
	top: -25px;
	left: 50%;
	right: 50%;
	transform: translate(-50%);
}
.infoArea .lineUpItem li .connectionBtn .ctwhite{
	color: #fff;
}
@media screen and (max-width: 640px) {
	.infoArea .lineUpItem li .listBtnArea{
	width: 100%;
	max-width: 113px;
	}
	.infoArea .lineUpItem li .connectionBtn{
	width: 100%;
	margin: 50px 0 0 0;
	}
	.infoArea .lineUpItem li .connectionBtn .longBtnTxt{
	line-height: 3.5;
	}
	.infoArea .lineUpItem li .connectionBtn::after{
	content: "";
	width: 100%;
	height: 40px;
	border-radius: 20px;
	}
	.infoArea .lineUpItem li .connectionBtn .txt{
	font-size: 1.1rem;
	}
	.infoArea .lineUpItem li .connectionBtn .longTxt{
	position: absolute;
	top: -40px;
	left: 50%;
	right: 50%;
	line-height: 1.5;
	}
	.btnC{
	font-size: 1.1rem;
	line-height: 3.2;
	}
	.longBtnTxt{
	font-size: 1rem;
	}
	.btnC::before{
	content: "";
	width: 5px;
	height: 5px;
	position: absolute;
	top: 45%;
	left: 5%;
	}
	.btnD{
	width:100%;
	font-size: 1.3rem;
	line-height: 3;
	}
	.btnD::before{
	content: "";
	width: 25px;
	height: 25px;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(0,-50%);
	}
	.btnD::after{
	width: 10px;
	height: 10px;
	position: absolute;
	border-top: 3px solid #7e4a1b;
	border-right: 3px solid #7e4a1b;
	left: 20px;
	}
	.btnD:first-of-type{
	margin: 0 0 15px 0;
	}
	.btnD:last-of-type span{
	padding: 0 0 0 30px;
	}
	.btnF{
	font-size: 1.1rem;
	line-height: 1;
	padding: 8px 26px 8px 10px;
	}
}
/*--------------------------------------------
リストボタン類*/

.infoArea .bnrArea{
	width: 750px;
	margin: 0 auto;
}
.infoArea .bnrArea img{ 
	width: 100%;
}
@media screen and (max-width: 640px) {
	.infoArea .bnrArea{
	width: 100%;
	margin: 50px 0 0 0;
	}
}

/*表組み
--------------------------------------------*/
/*.tbCts {
	margin: 25px 0 0 0;
}
.tbCts .tbCtsDtail table{
	border-collapse: collapse;
	font-size: 1.3rem;
	border-top:#cbcbcb 1px solid;
	width: 100%;
	background: #ffffff;
}
.tbCts .tbCtsDtail table tr{
	color: #000;
}
.tbCts .tbCtsDtail table tr:nth-child(odd){
	border-bottom:#cbcbcb 1px solid;
}
.tbCts .tbCtsDtail table tr td:first-of-type {
	color: #c39000;
	font-weight: bold;
}
.tbCts .tbCtsDtail table .titBar{
	background: #c39000;
}
.tbCts .tbCtsDtail table thead tr th,
.tbCts .tbCtsDtail table tbody tr th{
	border-right:#fff 1px solid;
	color: #fff;
}
/*表組み横固定スクロール*//*.tbCts .tbCtsDtail.infoAreaScroll table tr.fixedThaed th:first-child{
	border-right:none;
}
*/
/*.tbCts .tbCtsDtail table thead tr td:not(:last-of-type),
.tbCts .tbCtsDtail table tbody tr td:not(:last-of-type){
	border-right:#cbcbcb 1px solid;
}
.tbCts .tbCtsDtail table tbody tr td:not(:first-of-type){
	text-align: center;
}
.tbCts .tbCtsDtail table tbody tr:nth-child(even) td{
	background: #f1f1f1;
}
.tbCts .tbCtsDtail table thead tr th,
.tbCts .tbCtsDtail table thead tr td,
.tbCts .tbCtsDtail table tbody tr th,
.tbCts .tbCtsDtail table tbody tr td{
	padding: 8px 10px;
	/*vertical-align: top;
}*/
/* 表組み固定スクロール用（ここまで）-----------------------------*/
/*.tbNoteTxt {
	margin: 5px 0 0 0;
}
.tbNoteTxt li{
	display: inline-block;
	color: #ff6238;
	margin: 0 10px 0 0;;
	padding:0 0 0 1em;
	text-indent:-1em;
}
.tbSpNote{
	display: none;
}
@media screen and (max-width:640px){
	.tbCts .tbCtsDtail{
		width: 100%;
		overflow-x: scroll;
	}
	.tbCts .tbCtsDtail table{
		width: 640px;
		font-size: 1.2rem;
	}
	.tbCts .tbCtsDtail table thead tr th,
	.tbCts .tbCtsDtail table thead tr td,
	.tbCts .tbCtsDtail table tbody tr th,
	.tbCts .tbCtsDtail table tbody tr td{
		padding: 6px 8px;
	}
	.tbSpNote{
		display: inline-block;
		color: #814235;
		font-size: 1.1rem;
		margin: 0 0 5px 0;
	}
}*/*/*/
/*--------------------------------------------
表組み*/

#lineUp07 .ctsDetail .ctsDetailinner {
	padding: 100px 0;
	position: relative;
}
#lineUp07 .ctsDetail .ctsDetailinner .infoArea{
	margin: 0 0 60px 0;
}
#lineUp07 .ctsDetail .ctsDetailinner .titArea{
	margin: 0 0 60px 0;
}
#lineUp07 .ctsDetail .ctsDetailinner .btnArea {
	width: 100%;
	text-align: center;
}
#lineUp07 .ctsDetail .ctsDetailinner .btnGuideTxt {
	color: #000;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
	margin: 0 0 35px 0;
}
#lineUp07 .ctsDetail .ctsDetailinner .btnArea .btnlist{
	display: flex;
	justify-content: center;
}
.ctsDetail .ctsDetailinner .navBtnlist{
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: flex-end;
}
@media screen and (max-width:640px){
	#lineUp07 .ctsDetail .ctsDetailinner {
	padding: 70px 20px 230px 20px;
	position: relative;
	}
	#lineUp07 .ctsDetail .ctsDetailinner .titArea{
	margin: 0 0 30px 0;
	}
	#lineUp07 .ctsDetail .ctsDetailinner .btnArea .btnlist{
	display: block;
	font-size: 1.4rem;
	}
	#lineUp07 .ctsDetail .ctsDetailinner .btnGuideTxt {
	font-size: 1.4rem;
	line-height: 1.6;
	margin: 0 0 25px 0;
	}
	.ctsDetail .ctsDetailinner .navBtnlist{
	width: 100%;
	padding: 0 20px 0 20px;
	position: absolute;
	bottom: 0;
	left: 0;
	justify-content: flex-end;
	}
	#lineUp07 .ctsDetail .ctsDetailinner .infoArea{
	margin: 0 0 40px 0;
	}
}
/*footer
--------------------------------------------*/
#footer{
	color: #fff;
	background: url("../images/con_bg_03.png") no-repeat center top;
	background-size: cover;
}
.footerinner {
	min-width: 1200px;
	margin: 0 auto;
	padding: 30px 30px;
}
.footerLogo img {
	width: 200px;
}
.footerTop{
	margin: 0 0 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem;
}
.footerLogo {
	display: flex;
	align-items: center;
}
.footerLogo img{
	margin: 0 20px 0 0;
}

a.footerTxtLink{
	padding: 0 0 0 20px;
	color: #fff;
	position: relative;
}
.footerTxtLink::before{
	content: "";
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.footerTxtLink::after{
	content: "";
	width: 4px;
	height: 4px;
	border-top: 1px solid #444;
	border-right: 1px solid #444;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
 	left: 5px;
}
.footerBtm {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}

#footerList{
	display: flex;
}

#footerList li{
	margin: 0 15px 0 0;
	padding: 0 20px 0 0;
	font-size: 1.3rem;
	position: relative;
}
#footerList li:last-of-type{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
#footerList li::after{
	content:'|';
	position: absolute;
	right: 0;
}
#footerList li a{
	color: #fff;
	text-decoration: underline;
}
#footerList li a:hover{
	opacity: 1.0;
	text-decoration: none;
}
#footerList li:last-of-type::after{
	content:none;
}
@media screen and (max-width: 640px)  {
	#footer{
	display: block;
	text-align: center;
	}
	.footerinner {
	min-width: 100%;
	padding: 20px 10px;
	}
	.footerTop{
	display: block;
	}
	.footerLogo {
	display: block;
	margin: 0 0 10px 0;
	}
	.footerLogo img{
	width: 150px;
	margin: 0 0 5px 0;
	}
	.footerLogo p{
	font-size: 1.2rem;
	}
	.footerBtm{
	display: block;
	}
	a.footerTxtLink{
	display: inline-block;
	margin: 0 0 20px 0;
	font-size: 1.3rem;
	}
	#footerCopyright{
	margin: 10px 0 0;
	font-size: 1.3rem;
	}
	#footerList{
	-ms-justify-content: center;
	justify-content: center;
	margin: 0 auto;
	flex-wrap: wrap;
	}
	#footerList li{
	margin: 0 10px 5px 0;
	padding: 0 15px 0 0;
	font-size: 1.2rem;
	}
	#footerList li:last-of-type{
	margin: 0 0 5px 0;
	}
}
/*--------------------------------------------*/
#page-top {
	position: fixed;
	bottom: 141px;
	right: 20px;
	z-index: 400;
}
#page-top img {
	width: 50px;
	height: 50px;
	display: block;
}
#softcream-top {
	width: 220px;
	position:absolute;
	bottom: 45px;
	right: -50px;
	z-index: 350;
}
#softcream-top a {
	display: block;
	width: 100%;
	height: 100%;
}
#softcream-top img{
	width: 100%;
}
.fadeIn_up {
  opacity: 0;
  transition: 1s;
}
.fadeIn_up.is-show {
  opacity: 1;
}
@media screen and (max-width: 640px)  {
#page-top {
	bottom: 5%;
	}
#softcream-top {
	width: 160px;
	position:absolute;
	bottom:44px;
	right: 50%;
	transform: translate(50%,0);
	}
}