
@charset "UTF-8";

/* 基本色 */
:root {
	--main-color: rgba(0, 0, 0, 0);
	--accent-color: #F9799F;
	--dark-main-color: #F9799F;
	--text-bright-color: #fff;
	--icon-color: #F9799F;
	--gray-color: #ddd;
	--large-width: 1000px;
	--middle-width: 800px;
}


/* 基本設定： フォントサイズ */
@media (max-width: 599px) {
	:root {
		font-size: 14px;
	}
}

@media (min-width: 600px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}

@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}

body {font-size: 16px;}



/* 基本設定： ページ全体 */
body {
	margin: 0;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
}


/* コンテンツA： ヒーローイメージ */
.conA {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50vh;
	min-height: 340px;
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(img/IMG_6316.jpg);
	background-position: center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

.conA.compact {
	height: 340px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url(img/IMG_6316.JPG);
}

.conA h1 {
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 7vw;
	letter-spacing: 0em;
	margin-left: 0.2em;
}

.conA h2 {
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	margin-top: 0;
	margin-bottom: 1px;
	font-size: 3vw;
	letter-spacing: 0em;
	margin-left: 0.2em;
	color: #fff;
}

.conA h3 {
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	margin-top: 0;
	margin-bottom: 1px;
	font-size: 1.5vw;
	letter-spacing: 0em;
	margin-left: 0.2em;
}

.conA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 18px;
}

.conA img {
	width: 20%;
}

.conA a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #FFAA3D;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
}

.conA a:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	);
}


@media (min-width: 768px) {
	.conA h1 {
		font-size: 115px;
	}

	.conA p {
		font-size: 24px;
	}
}



/* フッター */
footer {
	color: #fff;
	background-color: rgba(249,121,159,1.00);
}

footer .container {
	padding: 20px 20px;
}

@media (min-width: 768px) {
	footer .container {
		display: flex;
		flex-wrap: wrap;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}

	.footA {
		flex: 0 0 35%;
		width: 35%;
		color: #FFFFFF;
	}

	.footB {
		flex: 0 0 65%;
		width: 65%;
		color: #FFFFFF;
	}

	.footC {
		flex: 0 0 100%;
		width: 100%;
		color: #FFFFFF;
	}
}

/* フッターA： サイト情報 */
.footA {
	margin-bottom: 10px;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat';
}
.footA h1 {
	margin-top: 0;
	margin-bottom: 2px;
	font-size: 12px;
	letter-spacing: 0em;
}

.footA h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 13px;
	letter-spacing: 0em;
}

.footA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 13px;
}

.footA p2 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 15px;
}

.footA a {
	color: inherit;
	text-decoration: none;
	transition: background-color 0.5s linear;
}

.footA a:hover {
	transition: background-color 0.1s linear;
	background-color: rgba(255,255,255,0.20);
}


/* フッターB： 3列メニュー */
.footB div {
	margin-bottom: 20px;
}

.footB h3 {
	margin-top: 0;
	margin-bottom: 10px;
	border-bottom: solid 1px currentColor;
	font-size: 13px;
}

.footB ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footB a {
	display: block;
	padding: 2px;
	color: inherit;
	font-size: 12px;
	text-decoration: none;
	transition: background-color 0.5s linear;
}

.footB a:hover {
	transition: background-color 0.1s linear;
	background-color: rgba(255,255,255,0.20);
}


@media (min-width: 768px) {
	.footB {
		display: flex;
	}

	.footB div {
		flex: 1;
	}

	.footB div:not(:first-child) {
		margin-left: 40px;
	}
}

/* フッターC： コピーライト */
.footC {
	font-size: 10px;
	text-align: center;
	font-family: 'Gochi Hand', cursive;
}


/* フッターD： iconメニュー */
.footD {
	margin: 10px 0px 8px 0px;
}

.footD ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footD a {
	display: block;
	margin-right: 8px;
	padding: 0;
	color: inherit;
	font-size: 13px;
	text-decoration: none;
	border: solid 1px currentColor;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
	transition: background-color 0.5s linear;
}

.footD a:hover {
	transition: background-color 0.1s linear;
	background-color: rgba(255,255,255,0.20);
}

/* ヘッダー */
header {
	position: absolute;
	top: 20;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: rgba(0, 0, 0, 0);
	padding-top: 5px
}

/* ヘッダーA: サイト名 */
.headA {
	display: inline-block;
	line-height: 70px;
	padding-left: 20px;
	padding-right: 20px;
	background-color: rgba(255, 255, 255, 0);
	color: #fff;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	font-size: 24px;
	text-decoration: none;
}


/* ヘッダーB： ナビゲーションメニュー */
.headB ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.headB a {
	display: block;
	padding: 5px 5px;
	margin: 2px 4px;
	color:  #FFFFFF;
	font-size: 11px;
	text-decoration: none;
	font-weight:00;
	transition: background-color 0.3s linear;
}

.headB a:active {
	border-radius: 5px;
	transform: translateY(3px);
	transition-duration: 0.2s;
}

.headB a:hover {
	color:  #FFFFFF;
	border-radius: 5px;
	transition: background-color 0.6s linear;
	background-color: rgba(255,141,176,0.39);
	transition-duration: 0.2s;
}

@media (min-width: 768px) {
	header .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}

	.headB ul {
		-js-display: flex;
		display: flex;
	}
}


/* ヘッダーC： トグルボタン */

@media (max-width: 767px) {
	/* 小さい画面用の設定 */
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.headC {
		margin-right: 10px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 28px;
		opacity: 0.5;
		cursor: pointer;
	}

	.headC:hover {
		opacity: 0.3;
	}

	.headB {
		display: none;
	}
}

@media (min-width: 768px) {
	/* 大きい画面用の設定 */
	.headC {
		display: none;
	}

	.headB {
		display: block !important;
	}
}

/* コンテンツページ: 記事 */
.post .container {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding: 10px 12px 10px 12px;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	color: #777777;
}

.post h1 {
	margin: 0px 10px 10px 10px;
	padding-left: 0.5rem;
	border-left: solid 0.8rem #FF608F;
	font-size: 1rem;
}

.post p {
	font-size: 1rem;
	line-height: 2;
	padding: 0px 10px 0px 10px;
}

.post p2 {
	font-size: 1rem;
	line-height: 2;
	padding: 0px 18px 0px 18px;
}

.post img {
	max-width: 100%;
}


/* コンテンツページ: パンくずリスト */
.bread ol {
	display: flex;
	margin-bottom: auto;
	padding: 0px 10px 0px 10px;
	list-style: none;
}

.bread a {
	display: block;
	padding: 5px;
	color: #777777;
	font-size: 0.6rem;
	text-decoration: none;
	transition: background-color 0.5s linear;

}

.bread a::after {
	margin-left: 10px;
	content: '\f054';
	font-family: 'FontAwesome';
	opacity: 0.3;
}

.bread a:hover {
	background-color: rgba(255,165,231,0.21);
	transition: background-color 0.1s linear;	
}


/* 記事一覧A */

.listA .container {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: auto;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif, 'Montserrat', 'メイリオ', 'Hiragino Kaku Gothic Pro';
	color: #777777;
}

.listA article {
	flex: 1 1 250px;
	display: flex;
	border-radius: 1px;
}

.listA p {
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 12px;
	position: relative;		
}

/* アレンジ: ヘッダーの色 */
.head-color {
	background-color: #F9799F;
	color: #fff;
}

.head-color .headA {
	background-color: transparent;
	color: inherit;
}

.head-color .headC {
	color: inherit;
}

/* アレンジ: ヘッダーとヒーローイメージを一体化 */
.head-hero {
	background-color: transparent;
	color: #fff;
}

.head-hero .headA {
	background-color: transparent;
	color: inherit;
}

.head-hero .headC {
	color: inherit;
	opacity: 1;
}

@media (max-width: 767px) {
	.head-hero .headB {
		background-color: rgba(0,0,0,0.6);
	}
}


/* アレンジ: ヘッダーを画面上部に固定 */
.head-fixed,
.nohero .head-fixed {
	position: fixed;
}

.nohero .head-fixed + * {
	margin-top: 70px;
}


/* アレンジ: 関連記事メニュー */
.related {
	background-color: #FFFFFF;
	padding: 5px 2px 5px 2px;
}

.related ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	margin:   auto;
	padding: 10px 10px 10px 10px;
	list-style: none;
}

.related li {
	flex: 1 1 100%;
	display: flex;
}

.related a {
	flex: 1;
	margin: 8px;
	display: block;
	border: solid 1px #ddd;
	background-color: rgba(255,255,255,0.20);
	color: inherit;
	text-decoration: none;
}

.related a:hover {
	opacity: 0.8;
}

.related .photo {
	min-height: 140px;
	background-position: center;
	background-size: cover;
	border-radius: 10px 10px 10px 10px;
	
}
.related ul li {
}
.related ul li {
}

.related .text {
	margin: 12px 12px 12px 12px;
}

.related h2 {
	font-size: 18px;
	margin: 10px 10px 0px 0px;
}

.related p {
	font-size: 14px;
	opacity: 1;

}

@media (min-width: 600px) and (max-width: 899px) {
	.related li {
		flex: 1 1 50%;
	}
}

@media (min-width: 900px) {
	.related li {
		flex: 1 1 32%;
	}
.related ul li {
}
