@charset "UTF-8";

/* 基本色 */
:root {
	--main-color: rgba(0, 0, 0, 0);
	--accent-color: #F9799F;
	--dark-main-color: #F9799F;
	--text-bright-color: #fff;
	--icon-color: #FF608F;
	--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 {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	-webkit-justify-content: 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_1337.JPG);
	background-position: center;
	background-size: cover;
	color: #fff;
	color: var(--text-bright-color);
	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_1337.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 {
	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: 16px;
}

.conA img {
	width: 20%;
}

.conA a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #FF608F;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	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;
	color: var(--text-bright-color);
	background-color: #F9799F;
	background-color: var(--dark-main-color);
}

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


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

	.footA {
		-ms-flex: 0 0 35%;
		-webkit-box-flex: 0 0 35%;
		-webkit-flex: 0 0 35%;
		flex: 0 0 35%;
		width: 35%;
	}

	.footB {
		-ms-flex: 0 0 65%;
		-webkit-box-flex: 0 0 65%;
		-webkit-flex: 0 0 65%;
		flex: 0 0 65%;
		width: 65%;
	}

	.footC {
		-ms-flex: 0 0 100%;
		-webkit-box-flex: 0 0 100%;
		-webkit-flex: 0 0 100%;
		flex: 0 0 100%;
		width: 100%;
	}
}



/* フッターA： サイト情報 */
.footA {
	margin-bottom: 25px;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat';

}

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

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

}

.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: 5px;
	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 {
		-js-display: flex;
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
	}

	.footB div {
		-ms-flex: 1;
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		flex: 1;
	}

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


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



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

.footD ul {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	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);
	background-color: var(--main-color);
	color: #fff;
	color: var(--text-bright-color);
	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: 15px;
	color:  #FFFFFF;
	font-size: 12px;
	text-decoration: none;
	transition: background-color 0.5s linear;
}


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

@media (min-width: 768px) {
	header .container {
		-js-display: flex;
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-ms-flex-align: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		max-width: 1000px;
		align-items: center;
		justify-content: space-between;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}

	.headB ul {
		-js-display: flex;
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
	}
}


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

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


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

	.headC:hover {
		transition: background-color 0.1s linear;
		opacity: 0.3;
	}

	.headB {
		display: none;
	}
}


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

	.headB {
		display: block !important;
	}
}


/* コンテンツページ: 記事 */
.post .container {
	max-width: 800px;
	max-width: var(--middle-width);
	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 18px 0px 18px;
}

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

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



/* コンテンツページ: パンくずリスト */
.bread ol {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	margin-bottom: auto;
	padding: 0px 10px 5px 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 {
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 1000px;
	max-width: var(--large-width);
	padding-top: auto;
	margin: auto;
	font-family: "YakuHanJP", 'M PLUS Rounded 1c', sans-serif,'Montserrat','メイリオ','Hiragino Kaku Gothic Pro';
}


.listA article {
	-ms-flex: 1 1 300px;
	-webkit-box-flex: 1 1 300px;
	-webkit-flex: 1 1 300px;
	flex: 1 1 250px;
	-js-display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
}


.listA a {
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	margin: 0px 10px 0px 0px;
	padding-bottom: 0px;
	display: block;
	color: inherit;
	text-decoration: none;
}

.listA .text {
	text-align: left;
	margin: 0px;
}

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

.listA p {
	font-size: 12px;
	color: #777777;
	margin: 0px 5px 0px 5px;
	padding: 0px 10px 0px 10px;
	border-radius: 2px;
	line-height: 1.5em;
}

.listA a2 {
	font-weight: none;
	color: #777777;
	text-align: left center;
}



/* リンクボタン */
.button {
  display: inline-block;
  max-width: 130px;
  text-align: center;
  outline: none;
  background-color: #f9f7ed;
  border: 1px solid #F9799F;
  overflow: auto;
  font-weight: none;
  border-radius: 2px;
  font-size: 13px;
  transition: all .7s;
  transition-timing-function: ease;
  box-shadow: 1px 1px 1px #AFAFAF; 
}

.button:hover {
  color: #FFF;
  font-weight:100;
  font-weight: bold;
  box-shadow: 2px 2px 1px #FFFFFF;
  background-color: #FF68B3;
  border: 1px solid #FF68B3;
}


.button:after {
	content:"";
	position: absolute;
 	top: 0;
 	left: 0;
 	width: 100%;
 	height: 100%;
	background : #fff;
	opacity: 0;
    transition: all .3s;
	z-index: -1;
}


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

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

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


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

.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;
	max-width: var(--large-width);
	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;
	border: solid 1px var(--gray-color);
	background-color: rgba(255,255,255,0.50)
	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 {
}
