﻿*,
*::before,
*::after{ box-sizing:border-box;  /* サイズ計算を楽にする */ }

/* 見出しのデフォルト余白を消す */
h1, h2, h3, h4, h5 {
	font-family: "Shippori Mincho B1", serif;
	font-weight: 700;
	margin: 0;
}

p {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	margin: 0;
}

a, a:hover {
	color: #252525;
	text-decoration: none;
}

html{ scroll-behavior:smooth; }

body{
	margin: 0;
	padding: 0;
	background-color: #f8f6ef;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	color: #252525;
	line-height: 1.6;
}

img {
	max-width: 100%; /* はみ出し防止 */
	height: auto;
	display: block;
}

.sp-br{
	display: block;
	height: 6px; /* 改行余白調整 */
}

.pc-br{
	display: none
}

header {
	width: 100%;
	margin: 0 auto;
}

/* 共通 */

section {
	width: 100%;
	text-align: center;
	margin: 30px auto;
}

h2 {
	font-size: 1.3rem;
	padding: 20px 0; /* イラストが上下にはみ出さないための余白 */
	background-image: url('../images/illust_butterfly.png'); /* 曲線と蝶が一体になった画像 */
	background-repeat: no-repeat;
	background-position: right; /* 常に文字の中央に */
	background-size: contain;    /* 画面幅に合わせて自動リサイズ */
	max-width: 90%;   /* スマホでの横幅調整 */
	margin: 0 auto;
}

/* story */

div.story-section {
	width: 100%;
	height: auto;
	margin: 50px auto 0;
}

div.story-section:nth-of-type(1) {
	padding-top: 30px;
	margin-top: 0;
	position: relative;
}

img.illust-maternity {
	position: absolute;
	top: -20px;
	left: 20px;
	width: 48px;
	z-index: -1;
}

div.story-box {
	width: 100%;
	display: flex;
	margin: 0 auto;
}

div.sentence-left {
	width: 50%;
	text-align: left;
	padding-left: 5px;
}

div.sentence-right {
	width: 50%;
	text-align: left;
	padding-right: 5px;
}

div.photo-right {
	width: 50%;
	padding-right: 5px;
}

div.photo-left {
	width: 50%;
	padding-left: 5px;
}

.story-box img {
	display: block; /* 余計な隙間を消す */
	width: 100%;
	height: auto;
}

img.story01,
img.story03,
img.story05 {
	margin-left: auto; /* 右寄せにする */
}

img.story02,
img.story04 {
	margin-right: auto; /* 左寄せにする */
}

h3 {
	font-size: 1.1rem;
	text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;
	line-height: 1.3;
	padding-bottom: 5px;
}

p.story-text {
	font-size: 0.8rem;
	text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;
	line-height: 1.5;
}

img.illust_mother01,
img.illust_mother03 {
	width: 60%;
	margin-left: auto; /* 右寄せにする */
}

img.illust_mother02 {
	width: 50%;
	margin-right: auto; /* 左寄せにする */
}

div.story-section-last {
	width: 100%;
	height: auto;
	margin: 30px auto 0;
}

div.sentence-center {
	padding: 20px 0; /* イラストが上下にはみ出さないための余白 */
	background-image: url('../images/illust_hand.png');
	background-repeat: no-repeat;
	background-position: left; /* 常に文字の中央に */
	background-size: 210px auto;
	margin: 0 auto;
}

h4 {
	font-size: 1.0rem;
	color: #c8836e;
	margin-top: 50px;
}

/* tsunagu */

section#tsunagu {
	margin-top: 50px;
}

img.text_wish {
	width: 30%;
	margin: 0 auto;
}

div.tsunagu-section {
	padding: 0; /* イラストが上下にはみ出さないための余白 */
	background-image: url('../images/illust_wish.png');
	background-repeat: no-repeat;
	background-position: center; /* 左右中央、上下中央に配置 */
	background-size: contain;    /* 画面幅に合わせて自動リサイズ */
	max-width: 90%;   /* スマホでの横幅調整 */
	margin: 0 auto;
}

p.tsunagu-text {
	font-size: 0.8rem;
	text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;
	line-height: 1.5;
	margin: 30px auto;
}

/* circulation */

div.circulation-section {
	width: 90%;
	max-width: 980px;
	margin: 0 auto;
	padding: 80px 0;
	background-image: url('../images/circulation.png');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
}

h5 {
	margin-top: 50px;
	font-size: 1rem;
	line-height: 1.8;
	text-align: center;
}

p.circulation-text {
	font-size: 0.8rem;
	text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;
	line-height: 1.5;
	margin: 30px auto;
}

/* coordinator */

img.text_vision {
	width: 30%;
	margin: 0 auto;
}

div.coordinator-box {
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 50px auto 0;
}

div.coordinator-box:nth-of-type(1) {
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

div.third {
	align-items: center;
}

div.coordinator-text {
	width: 55%;
	text-align: left;
	padding: 10px;
}

p.coordinator-title {
	font-size: 1.0rem;
	line-height: 1.5;
}

p.coordinator-text {
	font-size: 0.8rem;
	line-height: 1.5;
}

p.sp-text {
	font-size: 0.7rem;
	line-height: 1.5;
}

div.coordinator-photo {
	width: 45%;
}

div.coordinator-attention {
	width: 95%;
	text-align: left;
	padding: 10px;
	border: 1px solid #252525;
	border-radius: 10px;
	margin: 0 auto;	
}

p.attention-text {
	font-size: 0.7rem;
	line-height: 1.5;
	margin: 0 auto;
}

img.text_action {
	width: 80%;
}

/* voice */

img.text_voice {
	width: 30%;
	margin: 50px auto 0;
}

div.coordinator-voice {
	width: 100%;
	display: flex;
	justify-content: space-around;
	margin: 20px auto 0;
}

div.voice-waku {
	background-color: #fff;
	border: 1px solid #252525;
	border-radius: 15px 225px 15px 255px/255px 15px 225px 15px;
	padding: 10px;
	font-size: 0.7rem;
	line-height: 1.5;
}

div.voice-waku:nth-of-type(2) {
	border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
	margin-left: 5px;
	margin-right: 5px;
}

p.instagram-copy {
	font-size: 0.8rem;
	line-height: 1.5;
	font-family: sans-serif;
	margin: 30px auto 0;
}

a.but img {
	width: 60%;
	margin: 0 auto;
	display: block;
}

/* future */

div.future-box {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px auto 0;
}

div.future-bokashi {
	width: 50%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: relative;
}

div.blue {
	background: radial-gradient(circle, #dbeded, #fcf9f4);
}

div.green {
	background: radial-gradient(circle, #e1eedc, #fcf9f4);
}

div.yellow {
	background: radial-gradient(circle, #f9efd0, #fcf9f4);
}

div.pink {
	background: radial-gradient(circle, #f2e5e8, #fcf9f4);
}

div.future-bokashi div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); /* 自身のサイズ分戻す */
}

p.future-title {
	font-size: 1.2rem;
	line-height: 1.5;
	margin-bottom: 10px;
}

p.future-text {
	font-size: 0.7rem;
	line-height: 1.5;
}

div.future-photo {
	width: 50%;
	padding: 0 10px;
}

/* about */

p.about-text {
	font-size: 0.8rem;
	line-height: 1.5;
	margin: 30px auto;
}

div.container-about {
	width: 100%;
	max-width: 800px;
	margin: 30px auto 0;
}

div.company-header {
	width: 100%;
	border-bottom: 1px solid #d3d3d3;
	padding-bottom: 20px;
	margin-bottom: 10px;
	text-align: center;
}

h3.gaiyou-title {
	font-size: 1.2rem;
	margin: 0;
	font-family: "Shippori Mincho B1", serif;
	font-weight: 700;
	line-height: 1.5;
}

dl.company-list {
	width: 100%;
	margin: 0 auto;
}

dl.company-list dt {
	font-weight: bold;
	text-align: center;
	margin: 0;
	padding: 20px 0 5px;
}

dl.company-list dd {
	font-size: 0.9rem;
	text-align: center;
	margin: 0;
	padding: 0 0 20px;
	border-bottom: 1px solid #eee;
}

/* footer */
footer {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

footer img {
	width: 70%;
	margin: 0 auto;
	display: block;
}

p.copyright {
	font-size: 0.7rem;
	padding-top: 10px;
	padding-bottom: 10px;
	margin: 0 auto;
}


/* PC */
@media (min-width: 768px){

/* 共通 */

	.sp-br{
		display: none;
	}

	.pc-br{
		display: block;
		height: 6px;
	}

	section {
		width: 100%;
		max-width: 980px;
		margin: 100px auto 0;
	}

	section#tsunagu, section#circulation {
		margin-top: 100px;
	}

	h2 {
		font-size: 3.0rem;
		padding: 40px 0;
	}

	/* story */

	div.story-section {
		margin-top: 100px;
	}

	div.story-section:nth-of-type(1) {
		padding-top: 50px;
	}

	img.illust-maternity {
		width: 128px;
		top: -100px;
		left: 0;
	}

	div.sentence-left {
		width: 60%;
		padding-left: 0;
	}

	div.sentence-right {
		width: 60%;
		padding-left: 10px;
	}

	div.photo-right {
		width: 40%;
		padding-right: 0;
	}

	div.photo-left {
		width: 40%;
		padding-left: 0;
	}

	h3 {
		font-size: 2.5rem;
		padding-bottom: 30px;
	}

	p.story-text {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	img.illust_mother01, img.illust_mother03 {
		width: 50%;
	}

	img.illust_mother02 {
		width: 40%;
	}

	div.story-section-last {
		margin-top: 100px;
	}

	div.sentence-center {
		background-size: 420px auto;
	}

	h4 {
		font-size: 2.3rem;
		line-height: 1.8;
		margin-top: 70px;
	}

	/* tsunagu */

	img.text_wish {
		width: 210px;
	}

	div.tsunagu-section {
		max-width: 980px;
		width: 100%;
		margin: 0 auto;
	}

	p.tsunagu-text {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 50px auto;
	}

	/* circulation */

	div.circulation-section {
		padding: 200px 0;
	}

	h5 {
		margin-top: 150px;
		font-size: 2.3rem;
	}

	p.circulation-text {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 50px auto;
	}

	/* coordinator */

	div.coordinator-box {
		margin-top: 70px;
	}

	img.text_vision {
		width: 280px;
	}

	img.philosophy {
		width: 380px;
		margin-top: 40px;
	}

	div.coordinator-text {
		width: 50%;
		text-align: left;
	}

	p.coordinator-title {
		font-size: 2.3rem;
		line-height: 1.8;
	}

	p.coordinator-text {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	div.coordinator-photo {
		width: 50%;
	}

	div.coordinator-attention {
		width: 100%;
		padding: 20px;
		margin: 20px auto 0;
	}

	p.attention-text {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	img.text_action {
		width: 280px;
		display: block;
	}

	/* voice */

	img.text_voice {
		width: 210px;
	}

	div.voice-waku {
		padding: 20px;
		font-size: 1.5rem;
		line-height: 1.8;
	}

	div.voice-waku:nth-of-type(2) {
		margin-left: 10px;
		margin-right: 10px;
	}

	p.instagram-copy {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 30px auto 0;
	}

	a.but img {
		width: 320px;
	}

	/* future */

	div.future-box {
		margin-top: 0;
	}

	div.future-bokashi {
		width: 60%;
	}

	p.future-title {
		font-size: 2.3rem;
		line-height: 1.8;
		margin-bottom: 20px;
	}

	p.future-text {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	div.future-photo {
		width: 40%;
	}

	/* about */

	p.about-text {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 0 auto;
	}

	div.container-about {
		width: 100%;
		max-width: 800px;
		margin: 100px auto;
	}

	div.company-header {
		padding-bottom: 30px;
		margin-bottom: 20px;
	}

	h3.gaiyou-title {
		font-size: 2rem;
		line-height: 1.5;
	}

	dl.company-list {
		display: grid;
		grid-template-columns: 260px 1fr;
	}

	dl.company-list dt,
	dl.company-list dd {
		padding: 30px 0;
		border-bottom: 1px solid #eee;
	}

	dl.company-list dt {
		font-size: 1.5rem;
		text-align: right;
		padding-right: 20px;
	}

	dl.company-list dd {
		font-size: 1.5rem;
		text-align: left;
		padding-left: 20px;
	}

	/* footer */

	footer {
		margin-top: 50px;
	}

	footer img {
		width: 328px;
	}

	p.copyright {
		font-size: 1rem;
		padding-top: 30px;
		padding-bottom: 30px;
	}

}

