
@charset "UTF-8";

/* 基本色 */
:root {
	--main-color: rgba(0, 0, 0, 0);
	--accent-color: #F9799F;
	--dark-main-color: #F9799F;
	--text-bright-color: #fff;
	--icon-color: #79F9C7;
	--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_0821.JPG);
	background-position: center;
	background-size: cover;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
}

.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_0821.JPG);
}

.conA h1 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 7vw;
	letter-spacing: 0em;
	margin-left: 0.2em;
}

.conA h2 {
	margin-top: 0;
	margin-bottom: 1px;
	font-size: 3vw;
	letter-spacing: 0em;
	margin-left: 0.2em;
	color: #fff;
}

.conA h3 {
	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: #FDA226;
	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: #F9799F;
}

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);
}


	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 {
		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: 12px;
}

	
.post p {
	font-size: 12px;
	line-height: 2;
	padding: 0px 18px 0px 18px;
}

.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 0px;
	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: 1px 20px 1px 20px;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	border-radius: 2px;
}

.listA .container2 {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
 margin: 0px 0px 0px 0px;
	padding: 0px 28px 0px 28px;
 font-size: 0.6em;
}

.listA article {
	flex: 1 1 160px;
	display: flex;
 margin: 0px 0px 4px 0px;
}

.listA article2 {
	flex: 1 1 100px;
	display: flex;
}

.listA h1 {
	background-color: #F9799F;
	border-radius: 5px;
	box-shadow: none;
	text-align: left;
	margin: 2px 0px 2px 5px;
	color: #fff;
	font-size: 0.75rem;
	letter-spacing: 0em;
	font-weight: 100;
}
	
	.listA h3 {
	border-style: none;
	box-shadow: none;
	text-align: center;
	margin: 0px 0px 0px 0px;
	color: #fff;
	font-size: .8rem;
	letter-spacing: 0em;
	font-weight: 10px;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
}

.listA a {
	flex: 1;
	margin: 0px;
	padding: 0px;
	border-radius: 0px;
	display: block;
	border: solid 0.5px #ddd;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 1px 0 #B7B7B7, 0 1px 0 rgba(0,0,0,.2);
	transition-duration: .5s;
}


.listA p {
	color: #777777;
	font-size: 0.6rem;
	line-height: 1.5em;
	margin: 0px 8px 5px 8px;	
	padding: 2px 10px 0px 20px;
	text-align: left;
}
	

.listA .wrap {
  text-align: center;
 }

.listA .text {
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
	color: #777777;
	margin: 4px 1px 4px 1px;
	font-size: 1em;
	line-height: 0.6em;
	font-weight: lighter;
	text-align: center;
	text-decoration: none;
		
}

.listA .text0 {
	border-style: none;
	}

.listA .text2 {
	color: #777777;
	font-size: 0.7rem;
	padding: 0px 5px 10px 5px;
}


.listA  a:active {
	transform: translateY(3px);
	transition-duration: .5s;
}

.listA  a:hover {
	opacity: 0.6;
	transition-duration: .4s;
	color: hsla(272,93%,62%,1.00);
}

@media (min-width: 1000px) {
	.listA article {
		flex: 1 1 %;
	}
}



/* 記事一覧P */

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

.listP .container2 {
 display: flex;
	max-width: 1000px;
	margin: 10px 20px 10px 20px;
}


.listP article {
	flex: 1 1 160px;
	display: flex;
}
.listP article2 {
	flex: 1 1 100px;
	display: flex;
}

.listP h1 {
	background-color: #F9799F;
	border-radius: 5px;
	box-shadow: none;
	text-align: left;
	margin: 10px 0px 0px 5px;
	color: #fff;
	font-size: 0.75rem;
	letter-spacing: 0em;
	font-weight: 100;
}

.listP a {
	flex: 1;
	margin: 0px;
	padding: 0px 2px 2px 2px;
	border-radius: 2px;
	display: block;
	border: solid 0.5px #ddd;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 1px 0 #B7B7B7, 0 1px 0 rgba(0,0,0,.2);
	transition-duration: .5s;
}

.listP  a:hover {
	opacity: 0.6;
	transition-duration: .2s;
	color: #F8459E;
}

.listP  a:active {
	transform: translateY(3px);
	transition-duration: .5s;
}

.listP  p2:hover {
	color: #F8459E;
}


.listP p {
	color: #777777;
	font-size: 13px;
	line-height: 1.5em;
	margin: 0px 0px 0px 0px;	
	padding: 2px 0px 2px 0px;
	border-radius: 2px;
}

.listP p2 {
	font-size: 0.6rem;
	line-height: 1.3em;
	font-weight: lighter;
	text-align: center;
}


.listP .text {
 font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
 color: #777777;
 margin: 4px 2px 4px 2px;
 font-size: 0.7rem;
 line-height: 1.3em;
 font-weight: lighter;
 text-align: center;
 text-decoration: none;
}

.listP .text2 {
	color: #777777;
	font-size: 0.7rem;
	padding: 10px 5px 10px 5px;
}

@media (min-width: 1000px) {
	.listP article {
		-ms-flex: 1 1 25%;
		-webkit-box-flex: 1 1 25%;
		-webkit-flex: 1 1 25%;
		flex: 1 1 25%;
	}
}
	

/* アレンジ: ヘッダーの色 */
.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;
	background-color: #FFDAE3;
	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.50)	;
	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 {

}
