@charset "UTF-8";
/* CSS Document */

/*------------------------------------------------
parts.css
------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Homemade+Apple&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
	--font_color: #312A26;
	--font_size: 0.13rem;
	--line_height: 30px;
	--sans: 'Noto Sans JP', sans-serif;
	--udpg: "BIZ UDPGothic", sans-serif;
	--home: "Homemade Apple", sans-serif;
	--gray: #312A26;
	--btn: #F8f8f8;
	--page_gray: #c5c5c5;
	--page_baige: #FFE5B2;
	--page_dark: #CEB88C;
	--page_blue: #0e78d4;
	--page_right: #c1e2ff;
	--black: #333333;
}

/*------------------------------------------------
 ボタン
------------------------------------------------*/
/*more角丸ボタン*/
.btn_more {
	font-size: .13rem;
	position: sticky;
	z-index: 111;
	display: block;
	text-align: center;
	background: var(--black);
	color: var(--btn);
	background-size: 13px;
	max-width: max-content;
	padding: 0px 10px;
	border-radius: 5px;
	margin: 0 0 0 auto;
}

.btn_more a {
	color: var(--btn);
}

.btn01:hover {
	background-position-x: 94%;
}

/*------------------------------------------------
お問い合わせフォーム
------------------------------------------------*/

/*reCAPTHAマーク設定*/
.grecaptcha-badge {
	visibility: hidden;
}

p.recapcha-text {
	font-size: 11px;
	text-align: center;
}

/*------------------------------------------------
base
------------------------------------------------*/

html {
	width: 100%;
	height: 100%;
	font-size: 100px;
}

body {
	color: var(--font_color);
	font-family: var(--sans);
	text-align: center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: var(--font_size);
	line-height: var(--line_height);
}

img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

p {
	font-size: var(--font_size);
	line-height: var(--line_height);
}

a {
	color: var(--font_color);
}

a:link {
	cursor: pointer;
}

a:focus {
	text-decoration: none;
	color: var(--font_color);
}

a:hover {
	text-decoration: none;
	opacity: 0.6;
}

iframe {
	max-width: 100% !important;
}

.container {
	margin: 0 auto;
}

section {
	margin-bottom: 120px;
}

h1 {
	text-align: center;
	font-size: .5rem;
	line-height: 2;
	font-weight: 300;
	border-bottom: 1px solid var(--font_color);
	margin-bottom: 70px;
	margin-top: 70px;
	padding-bottom: 10px;
}

strong {
	font-weight: bold !important;
	font-size: larger !important;
}

/*------------------------------------------------
header
------------------------------------------------*/
.headder_nav {
	display: flex;
	justify-content: space-between;
	margin: 60px 0 60px;
}

.head_nav_list {
	display: flex;
	gap: 50px;
}

.head_nav_list a {
	font-size: 0.16rem;
	font-weight: 400;
}

.header_logo {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-family: var(--udpg);
	font-size: 30px;
	gap: 10%;
	letter-spacing: 7px;
}

/*------------------------------------------------
nav
------------------------------------------------*/
/*------------------------------------------------
パンくず
------------------------------------------------*/
.breadcrumb {
	margin: 40px auto;
}

/*------------------------------------------------
 リスト
------------------------------------------------*/
/* コンテンツ3つ横並び*/
.flex_3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 auto 57px;
	gap: 4%;
}

.topix_img_tips li:first-child {
	text-align: center;
	font-weight: normal;
	font-family: var(--udpg);
	font-size: .26rem;
}

.topix_img_tips li:nth-child(2) {
	text-align: center;
	font-family: var(--udpg);
	margin: 15px 0;
}

.topix_img_tips li:nth-child(3) {
	display: block;
	width: 130px;
	height: 130px;
	margin: 0px auto 30px;
}

.topix_img_tips li:nth-child(4) {
	line-height: 30px;
}

.topix_img_tips li {
	font-size: 0.15rem;
}

/*3列等間隔*/
.grid_3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 40px;
	grid-row-gap: 60px;
}

.grid_3 li img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/*blog3列_画像下テキスト_画像部*/
.grid3_inner_img_txt li:first-child {
	object-fit: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	margin-bottom: 33px;
}

/*↑のテキスト2行で非表示三点*/
.grid3_inner_img_txt li:nth-child(2) {
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/*・リスト*/
li.disc_list_li {
	position: relative;
	text-indent: .16rem;
	margin-bottom: 1em;
}

li.disc_list_li strong::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 4px;
	height: 1.2em;
	background-color: var(--page_dark);
	border-radius: 2px;
}

/*------------------------------------------------
 テーブル
------------------------------------------------*/

/*------------------------------------------------
装飾
------------------------------------------------*/
.borderbox {
	border: 1px solid;
	border-radius: 10px;
	padding: 8px;
}

.bg_blue {
	display: inline-block;
	background-color: var(--page_blue);
}

.bg_baige {
	background-color: var(--page_baige);
}

.bg_right {
	background-color: var(--page_right);
}

/*------------------------------------------------
footer
------------------------------------------------*/
.foot_nav {
	margin-top: 33px;
	margin-bottom: 15px;
}

.footer_logo {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-family: var(--udpg);
	font-size: .3rem;
	margin: 0 auto 52px;
	gap: 13px;
}

.foot_nav_list {
	display: flex;
	justify-content: center;
	font-family: var(--udpg);
	font-size: .21rem;
	gap: 38px;
	margin-bottom: 62px;
}

.copyright {
	text-align: center;
	font-family: var(--udpg);
	font-size: .10rem;
}

/*------------------------------------------------
 レスポンシブ　　　max-width:1199px
------------------------------------------------*/
@media screen and (max-width:1199px) {
	h1 {
		font-size: .6rem;
	}

	.grid3_inner_img_txt li:first-child {
		height: 250px;
	}

	.footer_logo {
		margin-bottom: 40px;
	}

	.foot_nav_list {
		margin-bottom: 20px;
		font-size: .13rem;
	}

	.foot_nav {
		margin-bottom: 20px;
	}
}

/*------------------------------------------------
 レスポンシブ　　　max-width:991px
------------------------------------------------*/
@media screen and (max-width:991px) {
	section {
		margin-bottom: 60px;
	}

	h1 {
		font-size: .4rem;
		margin-bottom: 40px;
	}

	.grid3_inner_img_txt li:first-child {
		height: 200px;
	}
}

/*------------------------------------------------
 レスポンシブ　　　max-width:767px
------------------------------------------------*/
@media screen and (max-width:767px) {
	.headder_nav {
		display: block;
		margin: 30px 0 25px;
	}

	.header_logo {
		display: flex;
		justify-content: left;
		font-size: .2rem;
		gap: 18px;
		padding-left: 30px;
		letter-spacing: 6px;
	}

	.head_nav_list {
		justify-content: center;
		padding: 20px 0 0px 30px;
		gap: 5%;
	}

	.flex_3 {
		grid-template-columns: none;
		gap: 40px;
	}

	.grid_3 {
		grid-template-columns: none;
		gap: 40px;
	}

	.grid_3 li img {
		display: block;
		margin: 0 auto;
	}

	.grid3_inner_img_txt li:first-child {
		height: auto;
		margin-bottom: 30px;
	}

}

/*------------------------------------------------
 レスポンシブ　　　max-width:480px
------------------------------------------------*/
@media screen and (max-width:480px) {

	.head_nav_list,
	.header_logo {
		justify-content: center;
		padding-left: 0;
	}

}