@charset "UTF-8";

html {
	margin: 0;
	padding: 0;
	font-size: 62.5%;
}
body {
	margin: 0 auto;
	padding: 0;
	font-size: 1.4rem;
	font-family: 'Noto Sans JP', 'Hiragino Maru Gothic Pro', 'メイリオ', Meiryo, 'Yu Gothic', '游ゴシック', YuGothic, '游ゴシック体', 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
/* iPad背景切れ対策 */
@media screen and (min-width:668px){
	body {
		min-width: 1200px;
		font-size: 1.4rem;
	}
}
*,*::before,*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
header, footer, section, aside, nav, article, main {
	display: block;
}
h1, h2, h3, h4, h5, h6,
figure, ul, ol, li, dl, dt, dd, p, img {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6,a {
	line-height: 1.3;
}
p {
	font-size: 100%;
	line-height: 1.6;
}
li {
	line-height: 1.5;
}
img {
	width: 100%;
	border: none;
	vertical-align: top;
}
@media screen and (max-width:668px){
	img{
		width: 100%;
	}
}
ul li, ol li {
	list-style: none;
}
a {
	color: #000;
	text-decoration: none;
	transition: color 0.2s, opacity 0.2s;
}
a:link {
	color: #000;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
	opacity: 0.7;
	text-decoration: none;
}

/* 表示切替 */
.switch {
	visibility: hidden;
}
.sp{
	display:none;
}
@media screen and (max-width:668px){
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
}

/* コンテンツ */
#wrapper{
	min-width: 1200px;
	position: relative;
}
@media screen and (max-width:668px){
	#wrapper{
		min-width: 100%;
	}
}

.ctsArea{
	width: 1100px;
	margin: 0 auto;
	padding: 60px 30px;
}
@media screen and (max-width:668px){
	.ctsArea{
		width: 100%;
		padding: 30px 20px;
	}
	.bgBlue:last-of-type .ctsArea{
		padding: 30px 20px 80px;
	}
}

.ctsArea02{
	width: 960px;
	margin: 0 auto;
	padding: 60px 30px;
}
@media screen and (max-width:668px){
	.ctsArea02{
		width: 100%;
		padding: 30px 20px;
	}
}

.flexBox{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* 背景色 */
.bgBlue{
	background-color: #006AB8;
}
.bgGry{
	background-color: #f3f3f3;
}
.bgGridGry{
	background:url(../images/bg_gridGry.svg) center center repeat;
	background-size: 10px 10px;
}

/* 背景矢印 */
.bgArrowBtm{
	position: relative;
}
.bgArrowBtm::after{
    content: '';
    width: 100%;
    height: 80px;
    border-width: 80px 50vw 0;
    border-style: solid;
    border-color: #006AB8 transparent transparent;
	position: absolute;
    left: 0;
	bottom: -80px;
	z-index: 10;
}
.bgArrowBtm.wh::after{
	border-color: #fff transparent transparent;
}
@media screen and (max-width:667px){
	.bgArrowBtm::after{
		height: 30px;
		border-width: 30px 50vw 0;
		bottom: -30px;
	}
}

/* page top */
a#pageTop{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content: center;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	width:50px;
	height:50px;
	margin: 0 0 20px;
	background-color: #006AB8;
	border-radius: 50%;
	border: 1px solid #fff;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.30);
	position: absolute;
	right: 20px;
	z-index: 999;
}
a#pageTop::after{
	content:' ';
	display:block;
	width:12px;
	height:12px;
	margin: 4px 0 0;
	border-top: 3px solid #fff;
	border-left: 3px solid #fff;
	transform:rotate(45deg);
}
@media screen and (max-width:667px){
	a#pageTop{
		margin: 0 0 15px;
		right: 15px;
	}
}

/* フォント */
.ftRed{
	color: #F01;
}

/* 注釈 */
.notes{
	margin: 5px 0 0;
	padding: 0 0 0 15px;
	position: relative;
}
.notes::before {
	content:'※';
	position:absolute;
	left:0;
}


/*
	フェードイン
-----------------------------------------------------------------------------------------------*/
.fadeIn {
  opacity : 0;
  transform: translateY(60px);
  transition: transform 1.0s;
}
@media screen and (max-width:667px){	
	.fadeIn {
	  transform: translateY(40px);
	}
}


/*
	リスト
-----------------------------------------------------------------------------------------------*/
.listBase li{
	margin: 0 0 5px;
	padding:0 0 0 18px;
	position:relative;
}
.listBase li:last-of-type{
	margin: 0 0 0;
}
.listBase li::before {
	content:'●';
	font-size:1.4rem;
	position:absolute;
	left:0;
	top: 1px;
}


/*
	ボタン
-----------------------------------------------------------------------------------------------*/
.btnArea{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	padding: 30px 0 0;
}
.btnArea a{
	display: inline-block;
	width: 280px;
	padding: 15px 10px;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	background-color: #dd646f;
	box-shadow: 0 5px 0 0 #c75c68;
	border-radius: 5px;
}
.btnArea a:nth-of-type(2){
	margin: 0 0 0 10px;
}
.btnArea a::after{
	content:' ';
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
	transform-origin:0 0;
	position:absolute;
	top:50%;
	right:12px;
}
.btnArea a.em{
	background-color: #3ac8c1;
	box-shadow: 0 5px 0 0 #30aa9b;
}
.btnArea a.sky{
	background-color: #29b5d1;
	box-shadow: 0 5px 0 0 #24a1b2;
}
.btnArea a.navy{
	background-color: #183c7b;
	box-shadow: 0 5px 0 0 #13315b;
}
@media screen and (max-width:667px){
	.btnArea{
		display: block;
		padding: 15px 0 0;
	}
	.btnArea a{
		display: inline-block;
		width: 100%;
	}
	.btnArea a:nth-of-type(2){
		margin: 15px 0 0 0;
	}
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#headOut{
	background-color: #fff;
}
#headIn{
	-ms-justify-content: space-between;
	justify-content: space-between;
	width: 1200px;
	margin: 0 auto;
	padding: 0 30px 55px;
}
#logoHead{
	padding: 25px 0 0;
}
#logoHead.flexBox{
	-ms-align-items: center;
	align-items: center;
}
#logoHead .logo{
	width: 170px;
	height: 37px;
}
#logoHead .txt{
	margin: 0 0 0 20px;
	font-size: 1.3rem;
	font-weight: bold;
	color: #666666;
	line-height: 1.3;
}

#listGnav li{
	margin: 0 20px 0 0;	
}
#listGnav li:last-of-type{
	margin: 0 0 0 0;
}
#listGnav li a{
	padding: 25px 0 0;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: 600;
	text-align: center;
	position: relative;
}
#listGnav li a:hover{
	opacity: 1.0;
}
#listGnav li a::before{
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: #006AB8;
	position: absolute;
	top: -7px;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity 0.2s;
}
#listGnav li a:hover::before{
	opacity: 1.0;
}
@media screen and (max-width:667px){
	#headOut{
		height: 90px;
	}
	#headIn{
		width: 100%;
		padding: 16px 20px 0;
	}
	#logoHead{
		padding: 0 0 0;
	}
	#logoHead .logo{
		width: 100px;
		height: 22px;
	}
	#logoHead .txt{
		margin: 0 0 0 12px;
		font-size: 1.0rem;
	}

	#listGnav{
		display: block;
		padding: 60px 0;
		text-align: center;
	}
	#listGnav li{
		margin: 0 0 0 0;
		padding: 15px 0;
	}
	#listGnav li a{
		padding: 0 0 0;
		font-size: 1.5rem;
	}
	#listGnav li a::before{
		display: none;
	}
	
	/* キー */
	#gNavOpen{
		width:60px;
		height:60px;
		background-color:rgba(0,0,0,0);
		position:absolute;
		top:0;
		right:0;
		z-index:999;
	}
	#gNavOpen .line{
		display:block;
		width:20px;
		height:2px;
		background-color:#000000;
		position:absolute;
		left:20px;
	}
	#gNavOpen .line01{
		top:20px;
		transition:transform 0.3s;
	}
	#gNavOpen .line02{
		top:28px;
	}
	#gNavOpen .line03{
		top:36px;
		transition:transform 0.3s;
	}
	#gNavOpen.active{
		background-color: #fff;
	}
	
	/* キーclose */
	#gNavOpen.active .line01{
		top:30px;
		transform:rotate(45deg);
	}
	#gNavOpen.active .line02{
		opacity:0;
	}
	#gNavOpen.active .line03{
		top:30px;
		transform:rotate(135deg);
	}
	
	#gNavOut{
		display: block;
		width: 100%;
		padding:0;
		margin: 0;
		position:absolute;
		top:-460px;
		left:0;
		background:rgba(255,255,255,0.95);
		transition:top 0.6s;
		z-index:800;
	}
	#gNavOut.active{
		top:0;
	}
}


/*
	タイトル
-----------------------------------------------------------------------------------------------*/
/* 白 */
.titWh{
	margin: 0 0 30px;
	font-size: 2.5rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
@media screen and (max-width:667px){
	.titWh{
		margin: 0 0 20px;
		font-size: 2.0rem;
		text-align: left;
	}
}

/* 青 */
.titBl{
	margin: 0 0 30px;
	font-size: 2.5rem;
	font-weight: bold;
	color: #006AB8;
	text-align: center;
}
@media screen and (max-width:667px){
	.titBl{
		margin: 0 0 10px;
		font-size: 2.0rem;
		text-align: left;
	}
}

/* 黄色ライン */
.titYellowLine{
	margin: 0 0 30px;
	font-size: 3.2rem;
	color: #006AB8;
	text-align: center;
}
.titYellowLine span{
	background: linear-gradient(transparent 75%, #ffe269 0%);
	z-index:1;
	line-height: 1.6;
}
@media screen and (max-width:667px){
	.titYellowLine{
		margin: 0 0 15px;
		font-size: 2.2rem;
		text-align: left;
		line-height: 1.5;
	}
}

/* 青色ライン */
.titBlueLine{
	margin: 0 0 30px;
	font-size: 2.5rem;
	text-align: center;
	position: relative;
}
.titBlueLine::after{
	content:' ';
	display:block;
	width:50px;
	height:4px;
	margin: 20px auto 0;
	background-color: #006AB8;
}
@media screen and (max-width:667px){
	.titBlueLine{
		margin: 0 0 15px;
		font-size: 2.2rem;
	}
	.titBlueLine::after{
		width:45px;
		margin: 15px auto 0;
	}
}

/* ふきだし白 */
.titFukidashi{
	margin: 0 0 50px;
	font-size: 3.5rem;
	color: #fff;
	text-align: center;
}
.titFukidashi span{
	display: inline-block;
	margin: 0 0 15px;
	font-size: 2.2rem;
	position: relative;
}
.titFukidashi span::before,
.titFukidashi span::after{
	content: '';
	display: inline-block;
	width: 30px;
	height: 2px;
	background-color: #ffe269;
	position: absolute;
	top: 50%;
}
.titFukidashi span::before{
	transform: rotate(60deg);
	left: -40px;
}
.titFukidashi span::after{
	transform: rotate(-60deg);
	right: -35px;
}
@media screen and (max-width:667px){
	.titFukidashi{
		margin: 0 0 50px;
		font-size: 2.5rem;
	}
	.titFukidashi span{
		display: inline-block;
		margin: 0 0 10px;
		font-size: 1.8rem;
	}
}

/* チェック */
.titCheck{
	margin: 0 0 30px;
	text-align: center;
}
.titCheck span{
	padding: 0 0 0 36px;
	font-size: 2.4rem;
	font-weight: bold;
	position: relative;
}
.titCheck span::before{
	content: '';
	display: inline-block;
	width: 30px;
	height:25px;
	background: url("../images/ico_check.svg") center center no-repeat;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width:667px){
	.titCheck{
		margin: 0 0 15px;
	}
	.titCheck span{
		padding: 0 0 0 30px;
		font-size: 1.8rem;
	}
	.titCheck span::before{
		width: 25px;
		height:20px;
	}
}


/*
	テキスト
-----------------------------------------------------------------------------------------------*/
.txtNml{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.5;
	text-align: center;
}
@media screen and (max-width:667px){
	.txtNml{
		font-size: 1.5rem;
		line-height: 2.0;
		text-align: left;
	}
}

.txtDotLine{
	text-align: center;
}
.txtDotLine span{
	font-size: 2.8rem;
	font-weight: bold;
	border-bottom: 5px dotted #dc646f;
	line-height: 1.8;
}
@media screen and (max-width:667px){
	.txtDotLine{
		text-align: left;
	}
	.txtDotLine span{
		font-size: 2.0rem;
		border-bottom: 3px dotted #dc646f;
	}
}


/*
	矢印
-----------------------------------------------------------------------------------------------*/
/* 丸矢印 */
.icoArwCircle{
	padding: 0 0 0 20px;
	position: relative;
}
.icoArwCircle::before{
	content: "";
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #006AB8;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    left: 0;
}
.icoArwCircle::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;
}


/*
	下層ページ
-----------------------------------------------------------------------------------------------*/
#pageMainImgArea{
	height: 315px;
    position: relative;
}
#pageTopKvOut{
	width: 1040px;
	height: 300px;
	margin: 0 auto;
	background: url("../images/bg_town.png") center bottom no-repeat #EBF5FB;
	background-size: contain;
	border-radius: 15px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.30);
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
}
#pageTopKvIn{
	height: 100%;
	-ms-justify-content: center;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	position: relative;
	z-index: 10;
}
#pageTopTitArea{
	margin: -15px 0 0;
	text-align: center;
}
#pageTopTitArea .sub{
	display: inline-block;
	margin: 0 0 15px;
	font-size: 2.5rem;
	font-weight: bold;
	color: #003d7b;
	border-bottom: 3px solid #003d7b;
	position: relative;
}
#pageTopTitArea .sub::before{
	content: "";
	width: 83px;
	height: 83px;
	background-size: 100%;
	position: absolute;
	top: -50px;
	left: -85px;
}
#pageTopTitArea .tit{
	font-size: 4.5rem;
}
@media screen and (max-width:667px){
	#pageMainImgArea{
		height: 150px;
	}
	#pageTopKvOut{
		width: calc(100% - 40px);
		height: 160px;
		border-radius: 10px;
		top: -28px;
	}
	#pageTopTitArea{
		margin: 0 0 0;
	}
	#pageTopTitArea .sub{
		margin: 0 0 8px;
		font-size: 1.5rem;
		border-bottom: 2px solid #003d7b;
	}
	#pageTopTitArea .sub::before{
		width: 50px;
		height: 50px;
		top: -25px;
		left: -55px;
	}
	#pageTopTitArea .tit{
		font-size: 2.3rem;
	}
}


/*
	point
-----------------------------------------------------------------------------------------------*/
#listPoint{
	-ms-justify-content: center;
	justify-content: center;
	padding: 20px 0 0;
}
#listPoint li{
	width: calc((100% - 80px)/3);
	margin: 0 40px 0 0;
}
#listPoint li:last-of-type{
	margin: 0 0 0 0;
}
#listPoint li a{
	display: block;
	padding: 40px 30px;
	background-color: #fff;
	border-radius: 10px;
	text-align: center;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.30);
	position: relative;
}
#listPoint li a::before{
	content: "";
	width: 30px;
	height: 30px;
	background-color: #003d7b;
	border-radius: 0 0 10px 0;
	position: absolute;
	right: 0;
	bottom: 0;
}
#listPoint li a::after{
	content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	right: 12px;
	bottom: 11px;
}
#listPoint li a .num{
	-ms-justify-content: center;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	width: 80px;
	height: 80px;
	background-color: #ffe000;
	border-radius: 50%;
	position: absolute;
	top: -15px;
	left: -15px;
}
#listPoint li a .num span{
	margin: 5px 0 0;
	font-family: 'Quicksand', sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: #003d7b;
	line-height: 1.0;
}
#listPoint li a .num span span{
	font-size: 3.0rem;
}
#listPoint li a .titSub{
	display: inline-block;
	margin: 0 0 10px;
	font-size: 1.5rem;
	font-weight: bold;
	color: #003d7b;
	border-bottom: 3px solid #003d7b;
}
#listPoint li a .tit{
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.3;
}
@media screen and (max-width:667px){
	#listPoint{
		display: block;
		padding: 20px 0 0;
	}
	#listPoint li{
		width: 100%;
		margin: 0 0 30px 0;
	}
	#listPoint li a{
		padding: 25px 10px;
	}
}

#listPoint li #point1{
	background: url("../images/pic_soft.svg") right 20px bottom 10px no-repeat #fff;
	background-size: 56px 84px;
}
#listPoint li #point2{
	background: url("../images/pic_freezer.svg") right 20px bottom no-repeat #fff;
	background-size: 53px 99px;
}
#listPoint li #point3{
	background: url("../images/pic_board_soft.svg") right 5px bottom 8px no-repeat #fff;
	background-size: 103px 79px;
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footIn{
	width: 1200px;
	margin: 0 auto;
	padding: 40px 30px;
}
#footTop,
#footBtm{
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}
#footTop{
	margin: 0 0 15px;
}
#footTop .txt{
	line-height: 1.0;
}
#footBtm{
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#copyright{
	color: #808080;
}
#listFoot{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#listFoot li{
	margin: 0 15px 0 0;
	padding: 0 20px 0 0;
	font-size: 1.3rem;
	position: relative;
}
#listFoot li:last-of-type{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
#listFoot li::after{
	content:'|';
	position: absolute;
	right: 0;
}
#listFoot li a{
	text-decoration: underline;
}
#listFoot li a:hover{
	opacity: 1.0;
	text-decoration: none;
}
#listFoot li:last-of-type::after{
	content:none;
}
@media screen and (max-width:667px){
	#footOut{
		text-align: center;
	}
	#footIn{
		width: 100%;
		padding: 20px 20px;
	}
	#footTop,
	#footBtm{
		display: block;
	}
	#footTop{
		margin: 0 0 10px;
	}
	#footTop .txt{
		margin: 0 0 25px;
	}
	#copyright{
		line-height: 1.0;
	}
	#listFoot{
		-ms-justify-content: center;
		justify-content: center;
		margin: 0 0 10px;
	}
}