@charset "UTF-8";

@font-face{ 
	font-family: 'hannari';
	src: url( './../font/Hannari.woff' ) format( 'woff' );
}


/**************************************************
　臨時
***************************************************/

.sample-block {
	display: none;
}
.hubplace-block {
	padding-top: 0 !important;
}


/**************************************************
　SubBlockタイトル
***************************************************/

h2 {
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	width: 100%;
}
h2::after {
	height: 0;
	width: 0;
}
h2 span {
	display: inline-block;
	font-size: 28px;
	margin-left: 5px;
	position: relative;
}
h2 span::after {
	background-color: #000;
	bottom: -10px;
	content: "";
	height: 2px;
	left: 15%;
	position: absolute;
	width: 70%;
}


/**************************************************
　eyecatch
***************************************************/

.eyecatch {
	height: 400px;
	position: relative;
	text-align: center;
	z-index: 1;
}
.bg-slider {
	align-items: center;
	background-position: center center;
	background-size: cover !important;
	display: flex;
	height: 100vh;
	justify-content: center;
	width: 100vw;
}
.eyecatch-fixed {
	background-image: url( './../image/top/eyecatch-fixed.png' );
	position: absolute;
	right: 0;
	z-index: 2;
}

/**************************************************
　リード文
***************************************************/

.lead-block {
	background: url( './../image/top/lead-bg-circle.png' ) no-repeat center center;
	font-family: 'hannari';
	width: 100vw;
}
.lead-block .contents {
	margin: 0 auto;
	text-align: center;
}
.lead-block h3 {
	font-size: 24px;
	font-weight: normal;
}
.lead-block p {
	font-size: 16px;
	margin-top: 50px;
}

/**************************************************
　冒頭PR
***************************************************/

.upper-pr-block .photo-box img {
	background-color: #999;
	display: block;
}
.upper-pr-block .text-box > span {
	color: #999;
	display: block;
	margin-bottom: 15px;
}
.upper-pr-block .text-box h3 {
	font-size: 1.4em;
	line-height: 1.8em;
	margin-bottom: 30px;
}
.upper-pr-block .text-box h3 span {
	font-size: 1.0em;
}

/**************************************************
　特徴
***************************************************/

.feature-block {
	background: url( './../image/top/feature-bg.jpg' ) no-repeat center center;
	background-size: cover;
}
.feature-block h2 {
	color: #fff;
}
.feature-block .each-box {
	background-color: rgba( 255, 255, 255, 0.8 );
	border: 3px solid #B3925D;
	border-radius: 10px;
}
.feature-block .each-box .no {
	color: #B3925D;
	font-size: 2.0em;
	margin: 0 auto 5px;
	padding-top: 20px;
	position: relative;
	text-align: center;
	width: 45px;
}
.feature-block .each-box .no::before {
	content: "Feature";
	font-size: .5em;
	display: inline-block;
	left: -4px;
	position: absolute;
	top: 0;
	width: 45px;
}
.feature-block .each-box h3 {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 40px;
	position: relative;
	text-align: center;
}
.feature-block .each-box h3::after {
	background-color: #B3925D;
	bottom: -20px;
	content: "";
	height: 3px;
	left: calc( 50% - 30px );
	position: absolute;
	width: 60px;
}

/**************************************************
　旬の時期
***************************************************/

.season-block {
	background: url( './../image/top/season-bg-pattern.png' ) repeat-x center bottom, url( './../image/top/season-bg.png' ) repeat-x center center;
}
.season-block,
.season-block .season-image {
	position: relative;
}
.season-block .season-image {
	z-index: 2;
}
.season-block::before,
.season-block::after {
	background: url( './../image/top/season-cloud.png' ) no-repeat;
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
}
.season-block::before {
	background-position: left bottom;
	left: 0;
}
.season-block::after {
	background-position: right bottom;
	right: 0;
}
.season-block h2::before {
	background-position: 0 -31px;
	left: calc( 50vw - 90px );
}
.season-block .season-image {
	background-size: contain;
}

/**************************************************
　下部PR
***************************************************/

.lower-pr-block {
	background: url( './../image/top/lower-pr-bg.jpg' ) no-repeat left center;
	background-size: cover;
	width: 100vw;
}
.lower-pr-block h3 {
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.8em;
	margin-bottom: 30px;
}
.lower-pr-block p {
	font-weight: bold;
}

/**************************************************
　提携・お取り扱い機関
***************************************************/

.partner-block {
	padding: 60px 0;
}
.partner-block::before {
	background-position: left bottom;
	left: 0;
}
.partner-block::after {
	background-position: right bottom;
	right: 0;
}
.partner-block h2::before {
	background-position: 0 -31px;
	left: calc( 50vw - 90px );
}
.partner-block .each-box img {
	max-width: 180px;
}
.partner-block .each-box-ex img {
	max-width: 220px;
}
.partner-block .each-box-min img {
	max-width: 120px;
}

/**************************************************
　無料サンプル
***************************************************/

.sample-block {
	background: url( './../image/top/sample-bg.jpg' ) no-repeat center center;
	background-size: cover;
	width: 100vw;
}
/* テキスト */
.sample-block .text-block > span {
	color: #555;
	display: block;
	font-size: .9em;
}
.sample-block .text-block h4 {
	border-bottom: 2px solid #111;
	display: inline-block;
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 35px;
	padding-bottom: 5px;
}
.sample-block .text-block .phone-no {
	margin-top: 5px;
	padding-left: 42px;
	position: relative;
}
.sample-block .text-block .phone-no::before {
	background: url( './../image/top/sample-icon.png' ) no-repeat left center;
	background-size: 50px 40px;
	content: "";
	display: block;
	height: 40px;
	left: 12px;
	position: absolute;
	top: 2px;
	width: 25px;
}
.sample-block .text-block .phone-no span {
	font-size: 1.6em;
}
.sample-block .text-block .phone-box .phone-time {
	font-size: .95em;
	text-align: center;
}
.sample-block .text-block .sample-apply {
	background-color: #1D396E;
	cursor: pointer;
	text-align: center;
}
.sample-block .text-block .sample-apply a {
	box-sizing: border-box;
	color: #fff;
	display: block;
	height: 50px;
	padding-right: 25px;
	position: relative;
	width: 100%;
}
.sample-block .text-block .sample-apply a::after {
	background: url( './../image/top/sample-icon.png' ) no-repeat right top;
	background-size: 60px 40px;
	content: "";
	display: block;
	height: 35px;
	position: absolute;
	top: 10px;
	right: 18px;
	width: 35px;
}
.sample-block .text-block .sample-apply span {
	color: #fff;
	display: block;
	height: 50px;
	padding-left: 25px;
	position: relative;
}
.sample-block .text-block .sample-apply span::after {
	background: url( './../image/top/sample-icon.png' ) no-repeat right top;
	background-size: 60px 40px;
	content: "";
	display: block;
	height: 35px;
	position: absolute;
	top: 10px;
	width: 35px;
}
/* 写真 */
.sample-block .photo-block p {
	color: #B3925D;
	font-weight: bold;
	position: relative;
	text-align: center;
}
.sample-block .photo-block p::before,
.sample-block .photo-block p::after {
	bottom: -13px;
	color: #B3925D;
	content: "／";
	display: block;
	font-size: 1.6em;
	font-weight: bold;
	position: absolute;
}
.sample-block .photo-block p::before {
	transform: scale( -1, 1 );
}
.sample-block .photo-block img {
	display: block;
}

/**************************************************
　活動・取り組み
***************************************************/

.hubplace-block {
	padding: 60px 0;
}
.hubplace-block::before {
	background-position: left bottom;
	left: 0;
}
.hubplace-block::after {
	background-position: right bottom;
	right: 0;
}
.hubplace-block h2::before {
	background-position: 0 -31px;
	left: calc( 50vw - 90px );
}
/* もっと見る */
.hubplace-more {
	background-color: #073A66;
	border-radius: 5px;
	clear: both;
	height: 70px;
	line-height: 70px;
	margin: 0 auto 80px;
	text-align: center;
	width: 300px;
}
.hubplace-more a {
	color: #fff;
	display: block;
	height: 100%;
	width: 100%;
}

/**************************************************
　リンク
***************************************************/

.link-block .contents img {
	background-color: #999;
	display: block;
}
.link-block .contents a {
	display: block;
}
.how-to-open,
.qa,
.link-block .contents img,
.link-block .contents a {
	height: 132px;
	width: 280px;
}

/**************************************************
　デバイス振り分け設定
***************************************************/

/* ■■ SP ■■ */
@media (max-width: 767px) {

	/* eyecatch */
	.eyecatch {
		height: 300px;
	}
	.eyecatch-fixed {
		background-image: url( './../image/top/eyecatch-fixed-sp.png' );
		background-size: 240px 225px;
		bottom: -43px;
		height: 225px;
		width: 240px;
	}

	/* リード文 */
	.lead-block {
		background-size: cover;
	}
	.lead-block .contents {
		padding: 80px 0;
		width: 90vw;
	}
	.lead-block span {
		display: block;
	}

	/* 冒頭PR */
	.upper-pr-block .contents {
		margin: 40px auto;
		width: 85vw;
	}
	.upper-pr-block .photo-box img {
		margin: 60px auto 40px;
	}

	/* 特徴 */
	.feature-block {
		padding: 50px 0 60px;
	}
	.feature-block h2 {
		margin: 60px auto 40px;
	}
	.feature-block .each-box {
		margin: 0 auto 30px;
		padding: 30px 30px 40px 30px;
		width: calc( 80vw - 60px );
	}
	
	/* 旬の時期 */
	.season-block {
		padding: 50px 0;
	}
	.season-block .season-image {
		background: url( './../image/top/season-sp.png' ) no-repeat center center;
		background-size: 290px 370px;
		height: 370px;
		margin: -20px auto 40px;
		width: 300px;
	}
	.season-block::before,
	.season-block::after {
		background-size: 280px 70px;
		height: 70px;
	}
	.season-block::before {
		top: 160px;
		width: 139px;
	}
	.season-block::after {
		right: -10px;
		top: 100px;
		width: 135px;
	}

	/* 下部PR */
	.lower-pr-block .contents {
		margin: 0 auto;
		padding: 80px 0;
		width: 85vw;
	}
	.lower-pr-block .contents h3 {
		text-align: center;
	}

	/* 提携・お取り扱い機関 */
	.partner-block h2 {
		margin-bottom: 40px;
	}
	.partner-block .each-box {
		margin: 0 auto 30px;
		width: 180px;
	}
	.partner-block .each-box-ex {
		margin: 30px auto 50px;
		width: 220px;
	}
	.partner-block .each-box-min {
		width: 140px;
	}

	/* 無料サンプル */
		/* テキスト */
	.sample-block .text-block p {
		margin-bottom: 35px;
	}
	.sample-block .contents {
		padding: 60px 0 70px;
	}
	.sample-block .text-block {
		margin: 0 auto;
		width: 85vw;
	}
	.sample-block .text-block > span {
		margin-bottom: 20px;
	}
	.sample-block .text-block .sample-apply {
		height: 60px;
		line-height: 60px;
		margin: 35px auto 0;
		width: 80vw;
	}
	.sample-block .text-block .sample-apply a::after {
		top: 15px;
	}
	.sample-block .text-block .phone-no {
		margin: 0 auto;
		width: 135px;
	}
	.sample-block .text-block .phone-time {
		margin-top: 10px;
		text-align: center;
	}
		/* 写真 */
	.photo-block {
		margin-top: 60px;
	}
	.sample-block .photo-block p::before {
		left: 40px;
	}
	.sample-block .photo-block p::after {
		right: 40px;
	}
	.sample-block .photo-block img {
		display: block;
		margin: 20px auto 0;
	}

	/* 活動・取り組み */
	.hubplace-more {
		margin: 60px auto 0;
	}

	/* リンク */
	.link-block .contents {
		padding: 60px 0 100px;
	}
	.how-to-open,
	.qa {
		margin: 0 auto 30px;
	}
}
@media (max-width: 320px) {

	/* 幅狭スマホ */

	/* リード文 */
	.lead-block h3 {
		font-size: 22px;
	}
	.lead-block {
		background-position: -200px center;
	}

	/* 冒頭PR */
	.upper-pr-block .photo-box img {
		height: 180px;
		width: 270px;
	}

	/* 旬の時期 */
	.season-block::before {
		top: 170px;
	}
	.season-block::after {
		right: -30px;
		top: 105px;
	}

	/* 無料サンプル */
	.sample-block .photo-block img {
		width: 280px;
	}
	.sample-block .text-block .sample-apply a::after {
		right: 23px;
	}

}
@media (min-width: 321px) and (max-width: 767px) {

	/* 幅広スマホ */

	/* リード文 */
	.lead-block {
		background-position: -310px center;
	}

	/* 冒頭PR */
	.upper-pr-block .photo-box img {
		height: 200px;
		width: 300px;
	}

	/* 無料サンプル */
	.sample-block .photo-block img {
		width: 300px;
	}
	.sample-block .text-block .sample-apply a::after {
		right: 30px;
	}
}


/* ■■ タブレット＆ブラウザ ■■ */
@media screen and (min-width: 768px) {

	/* リード文 */
	.lead-block {
		height: 380px;
	}
	.lead-block .contents {
		height: 210px;
		padding: 80px 0 60px;
		width: 500px;
	}
	.lead-block p {
		line-height: 2.0em;
	}

	/* 冒頭PR */
	.upper-pr-block .contents {
		margin: 60px auto 70px;
	}
	.upper-pr-block .photo-box {
		float: left;
	}
	.upper-pr-block .text-box {
		float: left;
	}
	.upper-pr-block .text-box h3 span {
		display: block;
	}
	
	/* 特徴 */
	.feature-block .contents {
		margin: 0 auto;
	}
	.feature-block .each-box {
		float: left;
		margin-left: 40px;
		padding: 30px;
	}
	.feature-block .each-box:first-of-type,
	.feature-block .each-box:nth-of-type( 4 ) {
		margin-left: 0;
	}

	/* 旬の時期 */
	.season-block .contents {
		padding: 80px 0;
	}
	.season-block::before,
	.season-block::after {
		background-size: 450px 112px;
	}

	/* 提携・お取り扱い機関 */
	.partner-block .each-box {
		float: left;
		margin: 0 0 30px 30px;
		min-height: 100px;
	}
	.partner-block .each-box-min,
	.partner-block .each-box-ex {
		margin-right: 10px;
	}
	.partner-block .top-10 img {
		display: inline-block;
		margin-top: 10px;
	}

	/* 無料サンプル */
	.sample-block .contents {
		margin: 0 auto;
	}
	/* テキスト */
	.sample-block .text-block {
		float: right;
	}
	.sample-block .text-block > span {
		margin-bottom: 10px;
	}
	.sample-block .text-block p {
		margin-bottom: 40px;
	}
	.sample-block .text-block .phone-box,
	.sample-block .text-block .sample-apply {
		float: left;
		height: 50px;
		line-height: 50px;
		padding-left: 10px;
	}
		/* 写真 */
	.sample-block .photo-block {
		float: left;
	}

	/* 活動・取り組み */
	.hubplace-more {
		margin: 20px auto 0;
	}

	/* リンク */
	.link-block .contents {
		height: 132px;
		margin: 0 auto;
		width: 620px;
	}
	.how-to-open,
	.qa {
		float: left;
	}
	.qa {
		margin-left: 60px;
	}
}


/* ■■ (狭いブラウザとタブレット向け) ■■ */
@media (max-width: 1020px) and (min-width: 768px) {

	/* eyecatch */
	.eyecatch {
		height: 450px;
	}
	.eyecatch-fixed {
		background-size: 480px 450px;
		bottom: -87px;
		height: 450px;
		width: 480px;
	}

	/* 冒頭PR */
	.upper-pr-block .contents {
		width: 680px;
	}
	.upper-pr-block .photo-box {
		margin-top: 48px;
		width: 240px;
	}
	.upper-pr-block .photo-box img {
		height: 160px;
		width: 240px;
	}
	.upper-pr-block .text-box {
		margin-left: 40px;
		width: 400ppx;
	}
	.upper-pr-block .text-box p {
		width: 400px;
	}
	
	/* 特徴 */
	.feature-block {
		padding: 70px 0 80px;
	}
	.feature-block .contents {
		width: 703px;
	}
	.feature-block .each-box {
		height: 280px;
		margin: 0 0 40px 20px;
		width: 155px;
	}

	/* 旬の時期 */
	.season-block h2 {
		margin: 60px auto 40px;
	}
	.season-block .season-image {
		background: url( './../image/top/season.png' ) no-repeat center center;
		height: 450px;
		margin: 0 auto 40px;
		width: 700px;
	}
	.season-block::before,
	.season-block::after {
		background-size: 400px 100px;
		height: 100px;
	}
	.season-block::before {
		top: 110px;
		width: 198px;
	}
	.season-block::after {
		top: 40px;
		width: 193px;
	}

	/* 下部PR */
	.lower-pr-block {
		height: 300px;
	}
	.lower-pr-block .contents {
		margin-left: 80px;
		padding-top: 60px;
		width: 385px;
	}

	/* 提携・お取り扱い機関 */
	.partner-block .contents {
		margin: 0 auto;
		width: 600px;
	}
	.partner-block .each-box:first-of-type,
	.partner-block .each-box:nth-of-type( 3n - 2 ) {
		margin-left: 0;
	}
	.partner-block .each-box:nth-of-type( 3n - 2 ) {
		clear: both;
	}

	/* 無料サンプル */
	.sample-block {
		height: 520px;
	}
	.sample-block .contents {
		height: 380px;
		padding: 80px 0 60px;
		width: 695px;
	}
		/* テキスト */
	.sample-block .text-block {
		margin-right: 10px;
		width: 400px;
	}
	.sample-block .text-block .phone-box {
		margin-left: -20px;
		width: 180px;
	}
	.sample-block .text-block .phone-box .phone-time {
		margin-top: 15px;
	}
	.sample-block .text-block .sample-apply {
		margin-left: 20px;
		width: 200px;
	}
	.sample-block .text-block .sample-apply a {
		width: 180px;
	}
	.sample-block .text-block .sample-apply a::after {
		right: -5px;
	}
		/* 写真 */
	.sample-block .photo-block {
		margin-top: 40px;
		width: 240px;
	}
	.sample-block .photo-block p::before {
		left: -5px;
	}
	.sample-block .photo-block p::after {
		right: -5px;
	}
	.sample-block .photo-block img {
		height: 225px;
		margin-top: 23px;
		width: 240px;
	}

	/* リンク */
	.link-block .contents {
		padding: 60px 0 120px;
	}
}


/* ■■ PC ■■ */
@media screen and (min-width: 1021px) {

	/* eyecatch */
	.eyecatch {
		height: 600px;
	}
	.eyecatch-fixed {
		bottom: -116px;
		height: 600px;
		width: 640px;
	}

	/* 冒頭PR */
	.upper-pr-block .contents {
		width: 910px;
	}
	.upper-pr-block .photo-box {
		margin-top: 40px;
		width: 360px;
	}
	.upper-pr-block .photo-box img {
		height: 240px;
		width: 360px;
	}
	.upper-pr-block .text-box {
		margin-left: 50px;
		width: 500px;
	}
	.upper-pr-block .text-box > span {
		font-size: 0.9em;
	}
	.upper-pr-block .text-box p {
		width: 500px;
	}
	
	/* 特徴 */
	.feature-block {
		padding: 80px 0 90px;
	}
	.feature-block .contents {
		width: 938px;
	}
	.feature-block .each-box {
		height: 257px;
		margin: 0 0 60px 40px;
		width: 220px;
	}

	/* 旬の時期 */
	.season-block .season-image {
		background: url( './../image/top/season.png' ) no-repeat center center;
		height: 450px;
		margin: 0 auto 60px;
		width: 700px;
	}
	.season-block::before,
	.season-block::after {
		height: 112px;
	}
	.season-block::before {
		top: 185px;
		width: 223px;
	}
	.season-block::after {
		top: 80px;
		width: 218px;
	}

	/* 下部PR */
	.lower-pr-block {
		height: 380px;
	}
	.lower-pr-block .contents {
		padding: 105px 0 95px;
		margin-left: 13vw;
	}
	.lower-pr-block .contents p {
		width: 385px;
	}

	/* 提携・お取り扱い機関 */
	.partner-block .contents {
		margin: 0 auto;
		width: 810px;
	}
	.partner-block .each-box:first-of-type,
	.partner-block .each-box:nth-of-type( 4n + 1 ) {
		margin-left: 0;
	}
	.partner-block .each-box:nth-of-type( 4n + 1 ) {
		clear: both;
	}
	
	/* 無料サンプル */
	.sample-block {
		height: 540px;
	}
	.sample-block .contents {
		height: 380px;
		padding: 80px 0;
		width: 940px;
	}
		/* テキスト */
	.sample-block .text-block {
		margin-left: 65px;
		width: 545px;
	}
	.sample-block .text-block .phone-box {
		margin-left: 30px;
		width: 200px;
	}
	.sample-block .text-block .phone-box .phone-time {
		margin-top: 10px;
	}
	.sample-block .text-block .sample-apply {
		margin-left: 30px;
		width: 225px;
	}
	.sample-block .text-block .sample-apply a {
		width: 200px;
	}
	.sample-block .text-block .sample-apply a::after {
		right: 0px;
	}
		/* 写真 */
	.sample-block .photo-block {
		margin-top: 12px;
		width: 330px;
	}
	.sample-block .photo-block p::before {
		left: 25px;
	}
	.sample-block .photo-block p::after {
		right: 25px;
	}
	.sample-block .photo-block img {
		height: 314px;
		margin-top: 23px;
		width: 330px;
	}
	
	/* 活動・取り組み */
	.hubplace-block {
		padding: 60px 0 80px;
	}
	
	/* リンク */
	.link-block .contents {
		padding: 80px 0 160px;
		padding: 60px 0 160px;
	}
}
