@charset "utf-8";

/*---------------------------------------------
	初期化
  ---------------------------------------------*/
* { margin: 0; padding: 0; }
*,
*::before,
*::after { box-sizing: border-box; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
form label { cursor: pointer; }
a img { border: none; }
img { vertical-align: bottom; image-rendering:auto; }
th { font-weight: normal; }

/*---------------------------------------------
	body
  ---------------------------------------------*/
body {
	color: #555555;
	font-size: 16px;
	line-height: 2.0;
	text-align: left;
	-webkit-text-size-adjust: none;
	overflow-x:hidden;
	background-color: #ffffff;
	animation: fadeIn 2.0s ease 0s 1 normal;
	-webkit-animation: fadeIn 2.0s ease 0s 1 normal;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    body {
        image-rendering: -webkit-optimize-contrast;
    }
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

/*---------------------------------------------
	Text
  ---------------------------------------------*/
html {
    font-family: sans-serif;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 10px;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
	overflow-x:hidden;
	scroll-behavior: smooth;
}
body { font-size: 16px; font-size: 1.6rem; }
h1, h2, h3, h4, h5 {
	line-height: 1.7;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 40px; font-size: 4.0rem;
	font-optical-sizing: auto;
	font-weight: 400;
}
.frame {
	margin-top: 80px;
	margin-bottom: 30px;
	background-image: url("../image/bg-green.png");
	background-repeat: repeat-x;
	background-size: 100% 10px;
	background-position: center;

}
h2 {
	font-size: 40px; font-size: 4.0rem;
	background-color: #ffffff;
	padding-right: 30px;
	display: inline-block;
}
h3 { font-size: 40px; font-size: 4.0rem; padding: 50px 0 30px; }
h3 span { font-size: 20px; font-size: 2.0rem; margin-left: 20px; }
h4 { font-size: 24px; font-size: 2.4rem; padding: 40px 0 25px; }
h5 { font-size: 24px; font-size: 2.4rem; padding: 40px 0 20px; }
h6 { font-size: 16px; font-size: 1.6rem; padding: 30px 0 15px; font-weight: 600; line-height: 1.7; }

p { line-height: 2.2; margin-bottom: 0.5em; }
.text12 { font-size: 12px; font-size: 1.2rem; }
.text13 { font-size: 13px; font-size: 1.3rem; }
.text14 { font-size: 14px; font-size: 1.4rem; }
.text16 { font-size: 16px; font-size: 1.6rem; }
.text18 { font-size: 18px; font-size: 1.8rem; }
.text20 { font-size: 20px; font-size: 2.0rem; }
.text24 { font-size: 24px; font-size: 2.4rem; }
.text28 { font-size: 28px; font-size: 2.8rem; line-height:1.5; }


@media (max-width: 599px) {
	h2 {
		margin: 0 auto 20px;
		font-size: 3.6rem;
		line-height: 1;
		padding: 50px 0 40px;
	}
	h3 { font-size: 2.2rem; padding: 40px 0 30px; }
	h3 span { font-size: 1.8rem; margin-left: 0; }
	h4 { font-size: 2.0rem; padding: 40px 0 30px; }
	h5 { font-size: 1.8rem; padding: 30px 0 20px; }
	h6 { font-size: 1.6rem; padding: 20px 0 10px; }
	p { font-size: 1.4rem; }
	.text20 { font-size: 1.8rem; }
}


/*---------------------------------------------
	Anchor
  ---------------------------------------------*/
a { outline: none; }
a:link { text-decoration: none; color: #5CB1A9; }
a:visited { text-decoration: none; color: #5CB1A9; }
a:hover { text-decoration: underline; color: #5CB1A9; }
a:active { text-decoration: underline; color: #5CB1A9; }
a img:hover {
	filter: alpha(opacity=90);
	-moz-opacity:0.9;
	opacity:0.9;
}

/*---------------------------------------------
	一般設定
  ---------------------------------------------*/
img { max-width: 100%; height: auto; width: auto\9; /* ie8 */ }
img.full { width: 100%; }
img.boder { border: 1px solid #E7E3DE; }
.zero { margin: 0; padding: 0; }
.zero-top {	margin-top: 0; padding-top: 0; }
.zero-bottom {	margin-bottom: 0; padding-bottom: 0; }
.round { border-radius: 20px; }
.circle { border-radius: 50%; }
.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.shadow { box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }
.space10 { margin-bottom: 10px; }
.space15 { margin-bottom: 15px; }
.space20 { margin-bottom: 20px; }
.space30 { margin-bottom: 30px; }
.space40 { margin-bottom: 40px; }
.space50 { margin-bottom: 50px; }
.space60 { margin-bottom: 60px; }
.space80 { margin-bottom: 80px; }
.space100 { margin-bottom: 100px; }
.underline { border-bottom: 1px solid #999999; margin-bottom: 30px; padding-bottom: 30px; }
.underline-dot { border-bottom: 1px dotted #999999; margin-bottom: 30px; padding-bottom: 30px; }
.underline-dot.wide { margin-bottom: 50px; padding-bottom: 50px; }
.float-right { float: right; position: relative; }
.float-left { float: left; position: relative; }
.caution { color:#cc0000; }
.bold { font-weight: 700; }
.line-tight { line-height: 1.8; }
.mincho { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.copy-guard { pointer-events: none; }
i.fa { margin: 0 0.3em 0 0.3em; }
.read span { display:inline-block }
.img-full { width: 100%; }
.img-right { float: right; position: relative; margin-bottom: 20px; margin-left: 40px; margin-top: 10px; }
.img-left { float: left; position: relative; margin-bottom: 20px; margin-right: 40px; margin-top: 10px; }
.img-right.w140,
.img-left.w140 { width: 140px; }
.img-right.w180,
.img-left.w180 { width: 180px; }
.img-right.w210 { width: 210px; }
.img-right.w240 { width: 240px; }
.img-right.w280,
.img-left.w280 { width: 280px; margin-bottom: 20px; }
.img-right.w360,
.img-left.w360 { width: 360px; margin-bottom: 20px; }
@media (max-width: 599px) {
	.img-right { margin-bottom: 15px; margin-left: 30px; }
	.img-left { margin-bottom: 15px; margin-right: 30px; }
	.img-right.w240,
	.img-left.w240,
	.img-right.w280,
	.img-left.w280,
	.img-right.w360,
	.img-left.w360 { float: none; width: 100%; margin: 0 0 20px 0; }
	.img-right.w180,
	.img-left.w180 { width: 120px; }
	.img-right.w210,
	.img-left.w210 { width: 140px; }
}
.waku { border: 1px solid #cccccc; padding: 30px; margin: 40px 0; background-color: #ffffff; }
.waku-blue { background-color: #F5FAFF; }

/* ------ 余白 ------ */
.mt1em { margin-top: 0.5em; }
.mt2em { margin-top: 1.5em; }
.mt3em { margin-top: 2.5em; }
.mt4em { margin-top: 4em; }
.mt5em { margin-top: 5em; }
.mb1em { margin-bottom: 0.5em; }
.mb2em { margin-bottom: 1.5em; }
.mb3em { margin-bottom: 2.5em; }
.mb4em { margin-bottom: 4em; }
.mb5em { margin-bottom: 5em; }
.pb1em { padding-bottom: 0.5em; }
.pb2em { padding-bottom: 1.5em; }
.pb3em { padding-bottom: 2.5em; }
.pb4em { padding-bottom: 4em; }
.pb5em { padding-bottom: 5em; }
@media (max-width: 767px) {
	.mt1em { margin-top: 0.3em; }
	.mt2em { margin-top: 1.2em; }
	.mt3em { margin-top: 1.8em; }
	.mt4em { margin-top: 2.5em; }
	.mt5em { margin-top: 4em; }
	.mb1em { margin-bottom: 0.3em; }
	.mb2em { margin-bottom: 1.2em; }
	.mb3em { margin-bottom: 1.8em; }
	.mb4em { margin-bottom: 2.5em; }
	.mb5em { margin-bottom: 4em; }
}

/* ------ float clear ------ */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix:before {
　　　　content: "";
	display: block;
	clear: both;
}
.clearfix {
	display: block;
}

/*---------------------------------------------
	Table
  ---------------------------------------------*/
table {
	width:100%;
    border-collapse: collapse;
    border-spacing: 0;
	margin: 20px 0;
}
table.general th, table.general td {
	padding: 10px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	line-height: 1.6;
}
table.general th {
	font-weight: normal;
	background-color: #FFF7E8;
}
/* テーブル 横スクロール */
.table {
	overflow: auto;
	position: relative;
	border: none;
}
.table.memo-before { padding-top:2em; }
.table.memo-after { padding-bottom: 2em; }
.table.memo-before:before,
.table.memo-after:after {
	line-height:1;
	content: "※横スクロールで表全体を見ることが出来ます";
	position: absolute;
	left: 0;
	font-size: 80%;
}
.table.memo-before:before { top: 1em; }
.table.memo-after:after { bottom: 1em; }
@media (min-width: 599px) {
	.table.memo-before { padding-top: 0; }
	.table.memo-after { padding-top: 0; padding-bottom: 0; }
	.table.memo-before:before,
	.table.memo-after:after { padding-top: 0; content: ""; }
}

/*---------------------------------------------
	ヘッダ
  ---------------------------------------------*/
#header {
	position: relative;
	height: 90px;
	width: 100%;
	padding: 0 20px;
}
#header .header-logo img {
	position: absolute;
	left: 30px;
	height: 50px;
	top: 20px;
}


@media (max-width: 599px) {
	#header { height: 120px; padding: 0 10px; }
	#header .header-logo img { left: 20px; height: 35px; top: 30px; }
}


/*---------------------------------------------
	ハンバーガーメニュ
  ---------------------------------------------*/
.drawer-menu {
	padding: 30px;
	line-height: 2.5rem;
}

.drawer-menu a { display: block; }
.drawer-menu a:link,
.drawer-menu a:hover,
.drawer-menu a:visited { color: #ffffff; }

.drawer-menu ul.menu {
	font-size: 16px; font-size: 1.6rem;
	padding-bottom: 15px;
	border-bottom: 1px solid #ffffff;
	margin-bottom: 20px;
}
.drawer-menu ul.menu li {
	font-size: 16px; font-size: 1.6rem;
	margin-bottom: 15px;
	background-image: url("../image/icon-arrow-w.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 9px auto;
	padding-left: 25px;
}
.drawer-menu ul.sub-menu {
	padding-bottom: 10px;
	border-bottom: 1px solid #ffffff;
	margin-bottom: 20px;
}
.drawer-menu ul.sub-menu li {
	font-size: 14px; font-size: 1.4rem;
	margin-bottom: 10px;
	background-image: url("../image/icon-arrow-w.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 6px auto;
	padding-left: 25px;
}


ul.sns-icon li {
	float: left;
	margin-right: 15px;
}


ul.sns-icon img {
	margin-top: 10px;
	width: 30px;
}

@media (max-width: 599px) {
	.drawer-menu .menu-inner ul.menu li { font-size: 1.4rem; background-size: 14px auto; padding-left: 22px; }
	.drawer-menu ul.sns { margin: 20px auto 0; }
}

/*---------------------------------------------
	トップページ
  ---------------------------------------------*/
.main-visual {
	width: calc( 100% - 0px);
	position: relative;
	z-index: 1;
	padding: 0 25px;
	margin-bottom: 30px;
}
.main-visual .photo img {
	width: 100%;
	max-height: 600px;
	border-radius: 20px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.main-visual .catch {
	position: absolute;
	width: calc( 100% - 50px);
	z-index: 100;
	top: 30%;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 40px; font-size: 4.0rem;
	font-optical-sizing: auto;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	animation: fadeIn 2.0s cubic-bezier(.5,0,1,1) 0s 1 normal;
	-webkit-animation: fadeIn 2.0s cubic-bezier(.5,0,1,1) 0s 1 normal;
}
.main-visual .catch span.sub {
	font-size: 28px; font-size: 2.8rem;
}

.main-visual .catch .catch1 {
	font-size: 40px; font-size: 4.0rem;
	line-height: 1;
	margin-bottom: 0.8em;
}
.main-visual .catch .catch1 .sub1 {
	font-size: 24px; font-size: 2.4rem;
}
.main-visual .catch .catch2 {
	font-size: 28px; font-size: 2.8rem;
	line-height: 1.2;
}
.main-visual .catch .catch2 .sub2 {
	font-size: 18px; font-size: 1.8rem;
}



@media (max-width: 768px) {
	.main-visual { padding: 0 20px; }
	.main-visual .photo img { height: 360px; }
	.main-visual .catch {
		width: calc( 100% - 40px);
		top: 25%;
		font-size: 3.2rem;
	}
	.main-visual .catch span.sub { font-size: 2.2rem; }
}
@media (max-width: 599px) {
	.main-visual .catch { top: 22%; font-size: 2.8rem; }
	.main-visual .catch span.sub { font-size: 1.8rem; }
}

/*---------------------------------------------
	共通
  ---------------------------------------------*/

/* ------ コンテンツ ------ */
#contents-container { max-width: 100%; margin: 70px 0 70px; }
@media (max-width: 599px) {
	#contents-container { margin: 30px 0 70px; }
}
.contents1200,
.contents1100,
.contents1000,
.contents800,
.contents720,
.contents600,
.contents400 { margin: 0 auto; position: relative; padding: 0 25px; }
.contents1200 { max-width: 1250px; }
.contents1100 { max-width: 1150px; }
.contents1000 { max-width: 1050px; }
.contents800 { max-width: 850px; }
.contents720 { max-width: 850px; }
.contents600 { max-width: 650px; }
.contents400 { max-width: 450px; margin-bottom: 70px; }


/* ------ Lineup ------ */
.lineup-catch {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px; font-size: 2.4rem;
	font-optical-sizing: auto;
	font-weight: 400;
	color: #5CB1A9;
	margin-bottom: 1em;
}
.iStraw,
.EmvisibleStraw,
.iSeed { margin: 50px 0 20px; }

.number {
	color: #ffffff;
	font-size: 13px; font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
	padding: 8px 5px 8px 10px;
	display: inline-block;
	margin-bottom: 10px;
}
.iStraw .number { background-color: #4680B6; }
.EmvisibleStraw .number { background-color: #B96296; }
.iSeed .number { background-color: #5CB1A9; }

.title img {
	height: 26px;
	margin-bottom: 10px;
}
.title span {
	vertical-align: bottom;
	line-height: 2.5;
	margin-left: 0.5em;
}

.point {
	font-size: 18px; font-size: 1.8rem;
	font-weight: 600;
	display:flex;
	align-items:center;
}
.point span {
	font-size: 28px; font-size: 2.8rem;
	color: #5CB1A9;
	margin-right: 0.3em;
}

/* ------ コラム ------ */
.column {
	flex-wrap: wrap;
	display: flex;
	margin-left: -40px;
}
.column section {
	flex: 1;
	margin: 15px 0 15px 40px;
}
.column section img {
	width: 100%;
}
.column section.narrow {
	flex: 0.6;
}

@media (max-width: 850px) {
	.column { margin-left: -30px; }
	.column section { margin-left: 30px; }
}
@media (max-width: 599px) {
	.column section,
	.column section.narrow { flex: 100%; margin: 0 0 10px 30px; }
	.column.reverse section:nth-child(1) { order: 2; }
	.column.reverse section:nth-child(2) { order: 1; }
}
section.empty {
	visibility: hidden;
}

/* ------ Youtube ------ */
.frame-wrapper__video {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-top: 30px;
}
.frame-wrapper__video iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* ------ リスト ------ */
ul.list {
	margin-bottom: 15px;
}

ul.list li {
	margin: 5px 0;
	padding-left: 20px;
	background: url(../image/icon-arrow.png) no-repeat top 11px left 3px / auto 10px;
}
ul.list-line {
	margin-bottom: 30px;
}
ul.list-line li {
	margin-bottom: 10px;
	border-bottom: 2px dotted #A2886D;
	padding-bottom: 10px;
}

/* ------ 概要 ------ */
dl.gaiyou dt {
	clear : both;
	float : left;
	width : 8em;
}
dl.gaiyou dd {
	padding-left : 8em;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px dotted #999999;
}
dl.gaiyou dd:last-child {
/*	border-bottom: none;*/
}

dl.gaiyou.wide dt { width : 16em; }
dl.gaiyou.wide dd { padding-left : 16em; }

@media (max-width: 520px) {
	dl.gaiyou dt,
	dl.gaiyou.wide dt { float : none; width : auto; font-weight: bold; }
	dl.gaiyou dd,
	dl.gaiyou.wide dd { padding-left : 0; }
}

/* ------ フェードアニメ ------ */
.fade-up,
.fade-left,
.fade-right { opacity : 0; transition:all 1s; }
.fade-up { transform : translate(0, 100px); }
.fade-left { transform : translate(-100px, 0); }
.fade-right { transform : translate(100px, 0); }
.fade-up.scrollin,
.fade-left.scrollin,
.fade-right.scrollin { opacity : 1; transform : translate(0, 0); }

.img-fade {
  opacity: 0;
  transition: transform 0.8s linear;
  animation-duration: 1.0s;
  animation-fill-mode: both;
}
.img-blur {
  animation-name: imageBlur;
  opacity: 1;
  transition: 1.0s;
}
@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    filter: blur(15px);
  }

  to {
    opacity: 1;
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    filter: blur(10px);
  }

  to {
    opacity: 1;
    filter: blur(0px);
  }
}




/*---------------------------------------------
	ページの先頭へ
  ---------------------------------------------*/
#page-top { width:50px; height:50px; display:none; position:fixed; right:20px; bottom:20px; z-index: 101; }
#page-top p { margin: 0; padding: 0; text-align: center; background-color: #5CB1A9; }
#page-top p:hover { background-color: rgba(92,177,169,0.8); transition: 0.4s; }
#move-page-top { color:#fff; line-height:50px; text-decoration:none; display:block; cursor:pointer; }
@media (max-width: 599px) {
	#page-top { width:40px; height:40px; right:15px; bottom:20px; }
	#move-page-top { line-height:40px; }
}

/*---------------------------------------------
	フッタ
  ---------------------------------------------*/
footer {
	margin-top: 100px;
	max-width: 100%;
	text-align: center;
}
@media (max-width: 599px) {
	footer { margin-top: 50px; }
}
.footer {
	max-width: 100%;
	background-color: #C3E3DA;
	color: #333333;
	text-align: center;
	padding: 20px 0;
}
.footer,
.footer p {
	font-size: 14px; font-size: 1.4rem;
	line-height: 1.8;
}
.footer a:link,
.footer a:hover,
.footer a:visited { color: #333333; }

.footer ul.footer-menu {
	width: fit-content;
    margin: auto;
}
.footer ul.footer-menu li {
	float: left;
	display: block;
	padding: 5px;
	margin: 0 10px;
	font-weight: 600;
}


footer .copy {
	font-size: 13px; font-size: 1.3rem;
	line-height: 70px;
}
@media (max-width: 599px) {
	.copy { line-height: 40px; }
}

footer .banner {
	margin: 20px 0;
}

/*---------------------------------------------
	レスポンシブ
  ---------------------------------------------*/
@media (min-width: 521px) {
	.forSP { display:none }
	.forPC { display:block }
}
@media (max-width: 520px) {
	.forPC { display:none }
	.forSP { display:block }
}