@charset "UTF-8";

@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,400i,700,700i");

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font: inherit;
	font-size: 100%;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

img {
	vertical-align: top;
}

@font-face {
	font-weight: 100;
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
}

@font-face {
	font-weight: 200;
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
}

@font-face {
	font-weight: 300;
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
}

@font-face {
	font-weight: 400;
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
}

@font-face {
	font-weight: bold;
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
}

body {
	color: #333;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
	font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Helvetica, Arial, "メイリオ", "Meiryo", Osaka, sans-serif;
	line-height: 1.8;

	-ms-hyphens: auto;
	-webkit-text-size-adjust: 100%;
}

_:lang(x)::-ms-backdrop, body {
	font-family: Helvetica, Arial,"????", "Meiryo",Osaka,sans-serif;
}

/* --------
  汎用クラス
-------- */

.clr:after, .cols:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
}

.gradB {
	background: -webkit-gradient(linear, left top, right top, from(#00b2bb), to(#49ddd3));
	background: -webkit-linear-gradient(left, #00b2bb 0%, #49ddd3 100%);
	background: -o-linear-gradient(left, #00b2bb 0%, #49ddd3 100%);
	background: linear-gradient(to right, #00b2bb 0%, #49ddd3 100%);
	background-color: #00b2bb;
}

.gradG {
	background: -webkit-gradient(linear, left top, right top, from(#057a41), to(#07b45f));
	background: -webkit-linear-gradient(left, #057a41 0%, #07b45f 100%);
	background: -o-linear-gradient(left, #057a41 0%, #07b45f 100%);
	background: linear-gradient(to right, #057a41 0%, #07b45f 100%);
	background-color: #057a41;
}

.fade {
	position: relative;
	top: 20px;
	opacity: 0;
}

/* --------
  デフォルト
-------- */

html {
	font-size: 62.5%;
}

body {
	background: -webkit-gradient(linear, left top, right top, from(#00b2bb), to(#49ddd3));
	background: -webkit-linear-gradient(left, #00b2bb 0%, #49ddd3 100%);
	background: -o-linear-gradient(left, #00b2bb 0%, #49ddd3 100%);
	background: linear-gradient(to right, #00b2bb 0%, #49ddd3 100%);
	background-color: #00b2bb;
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
}

img {
	max-width: 100%;
}

a {
	outline: none;
	color: #fff;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.sns {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-pack: center;
	-ms-flex-align: center;

	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.sns p {
	display: inline-block;
	line-height: .8;
}

.sns p img {
	max-width: none;
	width: 33px;
}

.sns > div {
	display: inline-block;
	margin-top: 12px;
	width: 30px;
	height: 30px;
}

/* --------
  共通レイアウト
-------- */

.inner {
	margin: 0 auto;
	max-width: 840px;
}

.container {
	position: relative;
	overflow: hidden;
	min-width: 320px;
}

header.header {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-ms-flex-align: start;

	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-box-align: start;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

header.header .bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 40%;
	height: 800px;
}

header.header .asahi {
	padding: 10px 0 0 10px;
	line-height: 1;

	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-ms-flex-positive: 1;
}

header.header .asahi a {
	display: inline-block;
	vertical-align: top;
	line-height: 0;
}

header.header .asahi a img {
	width: 200px;
}

header.header .asahi p {
	margin-top: 5px;
	font-size: 10px;
	font-size: 1rem;
}

header.header .sns {
	top: 600px;
	left: 34px;
}

header.header .title {
	position: relative;
	z-index: 0;
	width: 60%;
}

header.header .title .oppo {
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 8%;
	height: 250px;
	background: #ebe9ea url(../img/header-img.jpg) 50% 50% no-repeat;
	background-size: 840px;
	text-align: center;
}

header.header .title h1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-pack: center;
	-ms-flex-align: start;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 4% 0 13%;
	height: 250px;
	color: #fff;
	font-weight: bold;
	font-size: 40px;
	font-size: 4rem;

	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-box-align: start;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

header.header .title h1 small {
	display: block;
	font-size: 24px;
	font-size: 2.4rem;
}

.contents {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 100%;
	border-radius: 15px;
	background-color: #fff;
	color: #333;
}

.contents .inner {
	padding: 80px 20px;
	background: url(../img/bg-line.png) 50% 0% repeat-y;
	background-size: 840px;
}

.contents h2 {
	margin-bottom: 1em;
	font-weight: bold;
	font-size: 26px;
	font-size: 2.6rem;
}

.contents p {
	margin-bottom: 4em;
	line-height: 1.9;
}

.contents p:last-child {
	margin-bottom: 0;
}

.contents p small {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
}

.contents figure {
	margin-bottom: 4em;
}

section {
	position: relative;
}

section.sec01 {
	margin-bottom: 180px;
	margin-left: calc((100vw - 1200px)/2);
}

section.sec01 .contents {
	position: relative;
	margin-right: 0;
	padding: 0 calc((100vw - 1200px)/2) 0 0;
	border-radius: 0 0 0 15px;
}

section.sec01 .contents h2 {
	color: #07b45f;
}

section.sec01 .bg {
	position: absolute;
	bottom: -100px;
	left: calc((100vw - 1200px)/2 * -1);
	z-index: -1;
	width: 60%;
	height: 93.5%;
	border-radius: 0 15px 15px 0;
}

section.sec01 header .logo {
	position: absolute;
	top: -155px;
	left: 0;
	z-index: 2;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	-ms-flex-align: center;
	width: 180px;
	height: 158px;
	border-radius: 15px 15px 0 0;
	background-color: #fff;

	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

section.sec01 header .logo img {
	width: 130px;
}

section.sec01 header .product {
	position: absolute;
	top: -370px;
	left: 100px;
	z-index: 0;
	-webkit-transition: .6s;
	-o-transition: .6s;
	transition: .6s;
}

section.sec01 header .product.move {
	top: -400px;
}

section.sec01 header .product img {
	max-width: 30vw;
	width: 410px;
}

section.sec01 .point {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	margin-bottom: 4em;

	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

section.sec01 .point > div {
	margin: 0 1.5151515%;
	width: 30%;
	text-align: center;
}

section.sec01 .point > div figure {
	margin-bottom: 28px;
}

section.sec01 .point > div figure img {
	width: 240px;
}

section.sec01 .point > div .ttl img {
	height: 20px;
}

section.sec01 .point > div .ttl img.h24 {
	height: 24px;
}

section.sec01 .point > div .ttl small {
	display: block;
	margin-top: 8px;
	font-weight: bold;
	font-size: 15px;
	font-size: 1.5rem;
}

section.sec02 {
	margin-right: calc((100vw - 1200px)/2);
}

section.sec02 .bg {
	position: absolute;
	right: calc((100vw - 1200px)/2 * -1);
	bottom: -230px;
	z-index: -1;
	width: 60%;
	height: 425px;
	background: -webkit-gradient(linear, left top, right top, from(#07b45f), to(#057a41));
	background: -webkit-linear-gradient(left, #07b45f 0%, #057a41 100%);
	background: -o-linear-gradient(left, #07b45f 0%, #057a41 100%);
	background: linear-gradient(to right, #07b45f 0%, #057a41 100%);
	background-color: #057a41;
}

section.sec02 header {
	margin-bottom: 40px;
	margin-left: 0;
	padding: 0 0 0 calc((100vw - 1200px)/2);
}

section.sec02 header .inner {
	position: relative;
}

section.sec02 header h1 {
	font-weight: bold;
	font-size: 36px;
	font-size: 3.6rem;
}

section.sec02 header h1 small {
	font-size: 25px;
	font-size: 2.5rem;
}

section.sec02 header h1 strong {
	display: block;
	margin-top: 30px;
}

section.sec02 header h1 strong img {
	width: 352px;
}

section.sec02 header .product {
	position: absolute;
	top: -20px;
	right: -100px;
	max-width: 24vw;
	width: 280px;
}

section.sec02 .contents {
	margin-left: 0;
	padding: 0 0 0 calc((100vw - 1200px)/2);
	border-radius: 0 15px 15px 0;
}

section.sec02 .contents h2 {
	color: #00b2bb;
}

section.sec02 .contents h3 {
	margin-bottom: 30px;
	text-align: center;
}

section.sec02 .contents h3 span {
	display: inline-block;
	width: 280px;
	border-radius: 20px;
	background-color: #00b2bb;
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
}

section.sec02 .contents .slides {
	margin-bottom: 90px;
}

section.sec02 .contents .figures {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-ms-flex-align: center;
	margin-bottom: 60px;

	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

section.sec02 .contents .figures figure {
	overflow: hidden;
	width: 48%;
	border-radius: 15px;
}

footer {
	position: relative;
	text-align: center;
}

footer .pagetop {
	margin-bottom: 120px;
	padding: 30px 15px;
	line-height: 1;
}

footer .pagetop a {
	display: inline-block;
	padding: 10px;
}

footer .pagetop img {
	width: 40px;
}

footer .sns {
	top: 80px;
	right: 34px;
}

footer .inner {
	padding: 10px 100px 20px;
	max-width: 100%;
	background-color: #fff;
}

footer .inner .brandlink {
	overflow: hidden;
	margin: -130px auto 60px;
	max-width: 1200px;
	width: 100%;
	height: 250px;
	border-radius: 15px;
	background: url(../img/brandlink-bg.jpg) 50% 50% no-repeat;
	background-size: cover;
}

footer .inner .brandlink a {
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-pack: center;
	-ms-flex-align: center;
	width: 100%;
	height: 100%;

	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

footer .inner .brandlink a div {
	position: relative;
	display: block;
	width: 450px;
	height: 40px;
}

footer .inner .brandlink a div img {
	width: 450px;
}

footer .inner .brandlink a div span {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 0%;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

footer .inner .brandlink a div span img {
	max-width: none;
}

footer .inner .brandlink a:hover {
	opacity: 1;
}

footer .inner .brandlink a:hover span.hv {
	width: 100%;
}

footer .inner .logo {
	margin-bottom: 60px;
}

footer .inner .logo img {
	width: 210px;
}

footer .inner small {
	display: block;
	color: #333;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.4;
}

.bx-wrapper {
	position: relative;
}

.bx-wrapper .bx-prev, .bx-wrapper .bx-next {
	position: absolute;
	top: 50%;
	display: block;
	overflow: hidden;
	margin-top: -20px;
	padding-top: 40px;
	width: 40px;
	height: 0;
}

.bx-wrapper .bx-prev {
	left: -80px;
	background: url(../img/slide-prev.png) 50% 50% no-repeat;
	background-size: contain;
}

.bx-wrapper .bx-next {
	right: -80px;
	background: url(../img/slide-next.png) 50% 50% no-repeat;
	background-size: contain;
}

@media all and (min-width: 759px) {
	.forsp {
		display: none;
	}

	a:hover {
		opacity: .7;
	}

	.sns p {
		width: 10px;
		height: 33px;
	}

	.sns p img {
		-webkit-transform: rotate(90deg) translateX(-30%);
		-ms-transform: rotate(90deg) translateX(-30%);
		transform: rotate(90deg) translateX(-30%);
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
	}
}

@media all and (max-width: 1400px) {
	section.sec01 {
		margin-left: 100px;
	}

	section.sec01 .contents {
		padding: 0 100px 0 0;
	}

	section.sec01 .bg {
		left: -100px;
	}

	section.sec02 {
		margin-right: 100px;
	}

	section.sec02 .bg {
		right: -100px;
	}

	section.sec02 header {
		padding: 0 0 0 100px;
	}

	section.sec02 .contents {
		padding: 0 0 0 100px;
	}
}

@media all and (max-width: 1300px) {
	header.header .title h1 {
		padding: 0 20px 0 100px;
		font-size: 3rem;
	}

	header.header .title h1 small {
		font-size: 2.1rem;
	}
}

@media all and (max-width: 1200px) {
	section.sec01 header .product {
		top: -330px;
	}

	section.sec01 header .product.move {
		top: -360px;
	}

	section.sec01 header .product img {
		max-width: 26vw;
	}
}

@media all and (max-width: 1000px) {
	header.header .title h1 {
		padding-left: 80px;
	}

	section.sec01 header .product {
		top: -270px;
		left: 80px;
	}

	section.sec01 header .product.move {
		top: -300px;
	}

	section.sec01 header .product img {
		width: 240px;
	}
}

@media all and (max-width: 758px) {
	.forpc {
		display: none;
	}

	.sns {
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;

		-webkit-box-direction: normal;
		-webkit-box-orient: horizontal;
	}

	.sns > div {
		margin: 0 0 0 8px;
	}

	.inner {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 0 20px;
	}

	header.header .bg {
		width: 100%;
	}

	header.header .asahi {
		position: relative;
		top: 0;
		left: 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 5px 0 0 5px;
		width: 35%;
	}

	header.header .asahi a img {
		width: 120px;
	}

	header.header .asahi p {
		margin-top: 4px;
		font-size: .8rem;
		line-height: 1.3;
	}

	header.header .sns {
		top: 62px;
		left: 5px;
	}

	header.header .title {
		margin-bottom: 40vw;
		width: 65%;
	}

	header.header .title .oppo {
		overflow: hidden;
		height: 138px;
		border-radius: 0 0 0 10px;
		background-position: 45% 50%;
		background-size: auto 98%;
	}

	header.header .title h1 {
		overflow: hidden;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin-top: -26px;
		margin-left: calc(-38.5vw + 30px);
		padding: 0 0 0 15px;
		height: 52vw;
		border-radius: 10px 0 0 10px;
		letter-spacing: .03em;
		font-size: 6.6vw;

		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
	}

	header.header .title h1 small {
		font-size: 4.5vw;
	}

	.contents .inner {
		padding: 35px 15px;
		background-size: calc(100% - 30px);
	}

	.contents h2 {
		letter-spacing: .03em;
		font-size: 6.6vw;

		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
	}

	.contents p {
		margin-bottom: 3em;
	}

	.contents figure {
		margin-bottom: 3em;
	}

	.contents figure:last-child {
		margin-bottom: 0;
	}

	section.sec01 {
		margin-bottom: 100px;
		margin-left: 15px;
	}

	section.sec01 .contents {
		padding: 0 15px 0 0;
	}

	section.sec01 .bg {
		bottom: -50px;
		left: -15px;
	}

	section.sec01 header .logo {
		top: -96px;
		width: 115px;
		height: 96px;
		line-height: 1;
	}

	section.sec01 header .logo img {
		width: 84px;
	}

	section.sec01 header .product {
		top: -50vw;
		right: 15px;
		left: auto;
		width: 60%;
	}

	section.sec01 header .product.move {
		top: -55vw;
	}

	section.sec01 header .product img {
		max-width: none;
		width: 100%;
	}

	section.sec01 .point {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 3em;

		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
	}

	section.sec01 .point > div {
		margin: 0 auto 30px;
		width: 245px;
	}

	section.sec01 .point > div:last-child {
		margin-bottom: 0;
	}

	section.sec01 .point > div figure {
		margin-bottom: 20px;
	}

	section.sec02 {
		margin-right: 15px;
	}

	section.sec02 .bg {
		right: -15px;
	}

	section.sec02 header {
		margin-bottom: -165px;
		padding: 0 0 0 15px;
	}

	section.sec02 header .inner {
		padding: 0 0 0 15px;
	}

	section.sec02 header h1 {
		letter-spacing: .03em;
		font-size: 6.5vw;

		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
	}

	section.sec02 header h1 small {
		font-size: 4.6vw;
	}

	section.sec02 header h1 strong img {
		width: 315px;
	}

	section.sec02 header .product {
		position: relative;
		top: auto;
		right: auto;
		margin: 30px auto 0;
		max-width: none;
		width: 250px;
	}

	section.sec02 .contents {
		padding: 0 0 0 15px;
	}

	section.sec02 .contents .inner {
		padding-top: 200px;
	}

	section.sec02 .contents h3 span {
		width: 90%;
		font-size: 4.6vw;
	}

	section.sec02 .contents .slides {
		margin-bottom: 4em;
	}

	section.sec02 .contents .figures {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 4em;

		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
	}

	section.sec02 .contents .figures figure {
		width: 100%;
		text-align: center;
	}

	footer .pagetop {
		margin-bottom: 80px;
		padding: 15px 30px;
	}

	footer .sns {
		top: 20px;
		right: 15px;
	}

	footer .inner {
		padding: 10px 30px 20px;
	}

	footer .inner .brandlink {
		margin: -90px auto 40px;
		height: 157px;
	}

	footer .inner .brandlink a div {
		width: 265px;
		height: 24px;
	}

	footer .inner .brandlink a div img {
		width: 265px;
	}

	footer .inner .logo {
		margin-bottom: 40px;
	}

	footer .inner .logo img {
		width: 155px;
	}

	footer .inner small {
		margin: 0 -15px;
		font-size: .9rem;
	}

	.bx-wrapper .bx-prev, .bx-wrapper .bx-next {
		margin-top: -15px;
		padding-top: 30px;
		width: 30px;
	}

	.bx-wrapper .bx-prev {
		left: -15px;
	}

	.bx-wrapper .bx-next {
		right: -15px;
	}
}
