/*!
Theme Name: fukuiku
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: fukuiku
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

fukuiku is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

@charset "UTF-8";

/* Galleries --------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}
.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }
.gallery-caption { display: block; }

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility --------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments --------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}






html{
	font-size: 10px;
	scroll-behavior: smooth;
}

html.pc .sp{ display: none !important; }
html.sp .pc{ display: none !important; }

html[lang]{
	margin: 0 !important;
}
#wpadminbar{
	display: none;
}

@media (min-width: 951px) {
	.w950_{
		display: none !important;
	}
}

@media (min-width: 901px) {
	.w900_{
		display: none !important;
	}
}
@media (max-width: 900px) {
	.w900{
		display: none !important;
	}
}

@media (min-width: 751px) {
	.w750_{
		display: none !important;
	}
}
@media (max-width: 750px) {
	.w750{
		display: none !important;
	}
}

@media (min-width: 651px) {
	.w650_{
		display: none !important;
	}
}
@media (max-width: 650px) {
	.w650{
		display: none !important;
	}
}

@media (min-width: 551px) {
	.w550_{
		display: none !important;
	}
}
@media (max-width: 550px) {
	.w550{
		display: none !important;
	}
}

@font-face {
	font-family: 'zen-maru-gothic';
	src: url(img/zen_maru_gothic_black_sub.ttf?v=1.0.7);
}

body{
	padding: 0;
	margin: 0;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.6;
/*	letter-spacing: 0.05em;*/
	overflow-x: hidden;
	scroll-behavior: smooth;
	font-family: sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	font-feature-settings: "palt"; /* 文字詰め（フォントにカーニング情報が含まれる場合） */

	 /* iPhoneで上下のバーを抜いた高さ */
	height: -webkit-fill-available;
	height: -moz-available;
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

/* iPhoneのボタン表示対策 */
input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
}

#page{
	min-height: 100vh;
	background-image: url(img/common/bg.png);
	background-position: 50% 0;
	overflow: hidden;
}

h1{
	font-size: 2.6rem;
	text-align: center;
	margin: 20px 0;
}
@media (max-width: 720px) {
	h1{
		font-size: 3.61vw;
	}
}

h2{
	font-size: 1.8rem;
	margin: 0;
}

h3{
	text-align: center;
	font-size: 4rem;
	color: #0074bd;
	margin: 20px 0;

	font-family: "zen-maru-gothic", sans-serif;
	font-weight: 900;
/*	visibility: hidden;*/

	text-shadow: 
		#fff 0.075em 0,  #fff -0.075em 0,
		#fff 0 -0.075em, #fff 0 0.075em,
		#fff 0.075em 0.075em , #fff -0.075em 0.075em,
		#fff 0.075em -0.075em, #fff -0.075em -0.075em,
		#fff 0.025em 0.075em,  #fff -0.025em 0.075em,
		#fff 0.025em -0.075em, #fff -0.025em -0.075em,
		#fff 0.075em 0.025em,  #fff -0.075em 0.025em,
		#fff 0.075em -0.025em, #fff -0.075em -0.025em,
		rgba(0,0,0,0.55) 0.1125em 0.1em 0.25em;
}
/*h3.type1{
	display: inline-block;
	text-align: center;
	font-size: 2.9rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1.4;
	color: #fff;
	background-color: #0074bd;
	padding: 3px 50px;
	margin: 25px 0 0;
	border-radius: 20px 20px 0 0;
}
@media (max-width: 550px) {
	h3.type1{
		font-size: 2rem;
		padding: 3px 40px;
	}
}*/

.h3_sita{
	text-align: center;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.1em;
	color: #595959;
	margin: 0 0 65px;
}


h4{
	font-size: 1.2rem;
	font-weight: normal;
	margin: 15px 0;
}

img{
	vertical-align: middle;
	max-width: 100%;
}

iframe{
	vertical-align: bottom;
	max-width: 100%;
}

a,
a:link,
a:visited{
	color: inherit;
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}

/* IE6,7 対策 */
a img{
	border-style: none;
}

.hover_type1{
	transition: 0.15s linear;
}
.hover_type1:hover{
	filter: brightness(1.1);
}

.zen_maru_gothic_n9{
	font-family: "zen-maru-gothic", sans-serif;
/*	font-weight: 900;*/
/*	visibility: hidden;*/
}
.wf-zen-maru-gothic-n9-active .zen_maru_gothic_n9,
.wf-zen-maru-gothic-n9-active h3{
	visibility: visible;
}

.ib, ib{
	display: inline-block;
}
.nw{
	white-space: nowrap;
}

.flex{ display:flex; gap:25px; }
.flex.inline{ display:inline-flex; }
.flex.wrap{ flex-wrap:wrap; }
.flex.between{ justify-content:space-between; }
.flex.center{ justify-content:center; }
.flex.start{ justify-content:flex-start; }
.flex.end{ justify-content:flex-end; }
.flex.v_center{ align-items:center; }
.flex.v_start{ align-items:flex-start; }
.flex.v_end{ align-items:flex-end; }

.wf600{
	font-weight: 600;
}

header{
	position: relative;
	display: flex;
	justify-content: center;
/*	align-items: center;*/
	text-align: center;
	font-size: 2.2rem;
	font-weight: 600;
	color: #fff;
	background-color: #0074bd;
}
header .left{
	display: flex;
	align-items: center;
	gap: 25px;
	padding: 20px 100px 10px 0;
}
.header_img_1{
	max-width: 70%;
}
.header_img_2{
	position: absolute;
	top: 25px;
	left: calc(50% - 500px);
}
.header_img_3{
	position: absolute;
	top: 25px;
	right: 25px;
	border-radius: 100px;
	z-index: 100;
	transition: 0.2s linear;
}
.header_img_3:hover{
	opacity: 0.8;
}
@media (max-width: 950px) {
	.header_img_3{
		top: 10vw;
		right: 10px;
		width: 20vmin;
	}
}
@media (max-width: 900px) {
	header{
		justify-content: space-between;
	}
	header .left{
		padding: 20px 20px 10px;
	}
	.header_img_2{
		display: none;
	}
}
@media (max-width: 850px) {
	header{
		font-size: 2.58vw;
	}
	header .left{
		gap: 3vw;
		padding: 2.2vw 2.3vw;
	}
	.header_img_fu{
		height: 4vw;
	}
}


.site_nav{
	position: relative;
	display: flex;
	z-index: 1000;
	max-width: 95%;
	width: 1000px;
	margin: 15px auto;
}
.site_nav a{
	white-space: nowrap;
	text-align: center;
	text-decoration: none;
	font-size: 2rem;
	font-weight: 600;
	color: #4c4948;
	background-color: #fff;
	/*	background-clip: padding-box;*/
	padding: 10px 20px;
	border-radius: 10px;
	border: 2px solid transparent;
	transition: 0.2s linear;
}
.site_nav a:hover{
/*	color: #0074bd;*/
/*	background-color: #0074bd;*/
	border-color: #0074bd;
}
.site_nav .nav_title{
	display: none;
	text-align: center;
	padding: 0 0 25px;
	border-bottom: 1px solid #ddd;
}
.site_nav .nav_title img{
	width: 50%;
}
.site_nav .nav1{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}
.site_nav .nav2{
	display: none;
	text-align: center;
	padding: 0 0 25px;
	color: #fff;
	background-color: #0074bd;
	gap: 5vmin;
}
.site_nav .nav2_1{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1vmin;
}
.site_nav .nav2_1 a{
	width: 75vw;
}
.site_nav .nav2_2{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.9rem;
	line-height: 1.2;
	gap: 2rem;
}
@media (max-width: 900px) {
	.site_nav{
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: 0;
		position: fixed;
		left: 0;
		top: 0px;
		max-width: none;
		box-sizing: border-box;
		width: 100%;
		height: 100dvh;
		padding: 3vmin 0px 0;
		background-color: #fff;
		margin: 0;

		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s linear;
	}
	#open_nav:checked ~ .site_nav{
		opacity: 1;
		pointer-events: auto;
	}
	.site_nav a{
		font-size: min(2rem, 4vw);
		padding: 15px 20px;
		border-radius: 0px;
	}
	.site_nav .nav_title{
		display: block;
		height: 10vmin;
	}
	.site_nav .nav1{
		justify-content: left;
		gap: 0px;
	}
	.site_nav .nav1 a{
		box-sizing: border-box;
		flex-basis: 50%;
		border: 0;
		border-bottom: 1px solid #ddd;
		border-right:  1px solid #ddd;
	}
	.site_nav .nav2{
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		justify-content: space-between;
		padding: 8vmin 0 5vmin;
	}
	.site_nav .nav2 a{
		background-color: transparent;
		padding: 0;
	}
	.site_nav .nav2_2{
	}
	.site_nav .nav2_2 .nav_img_fu{
		width: 14rem;
	}
}

#open_nav{
	display: none;
}

label[for="open_nav"] {
	cursor: pointer;
/*	position: fixed;*/
/*	top: 10px;*/
/*	right: 10px;*/
/*	position: relative;*/
	display: flex;
/*	height: 100%;*/
	width: 10vw;
/*	border-radius: 5px;*/
	justify-content: center;
	align-items: center;
	z-index: 1100;
	background-color: #fff;
}
@media (min-width: 901px) {
	html label[for="open_nav"] {
		display: none;
	}
}
label[for="open_nav"] span,
label[for="open_nav"] span:before,
label[for="open_nav"] span:after {
	content: '';
	display: block;
	height: 2px;
	width: 6vw;
	border-radius: 5px;
	background-color: #000;
	position: absolute;
	transition: 0.3s ease-in-out;
}
label[for="open_nav"] span:before {
	bottom: 1.9vw;
}
label[for="open_nav"] span:after {
	top: 1.9vw;
}
label[for="open_nav"] img{
	width: 70px;
}
#open_nav:checked ~ header label[for="open_nav"] {
	background-color: transparent;
}
#open_nav:checked ~ header label[for="open_nav"] span {
	background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#open_nav:checked ~ header label[for="open_nav"] span::before {
	bottom: 0;
	transform: rotate(45deg);
}
#open_nav:checked ~ header label[for="open_nav"] span::after {
	top: 0;
	transform: rotate(-45deg);
}
.site-header .sp_gnav{
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: #bdad77;
	z-index: 1100;
}
label[for="open_nav"] .nav_close{
	/*display: none;*/
}
#open_nav:checked ~ header label[for="open_nav"] .nav_open{
	/*display: none;*/
}
#open_nav:checked ~ header label[for="open_nav"] .nav_close{
	/*display: block;*/
}


footer{
	position: sticky;
	top: 100vh;

	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background-color: #0074bd;
	padding: 30px 0;
	margin: 80px 0 0;
}
footer .f1{
	font-size: 2.2em;
	margin: 0 0 1em;
}
footer .f2{
	font-size: 2.4em;
	line-height: 1.3;
}
footer .f3{
	font-size: 1.6em;
	margin: 0 0 0.5em;
}
footer .f4{
	font-size: 2.4em;
	margin: 0 0 0.5em;
}
footer .f5{
	font-size: 1.4em;
	margin: 0 0 2.5em;
}
footer .f6{
	font-size: 2.1em;
}
footer .f7{
	font-size: 1.4em;
}
@media (max-width: 550px) {
	footer{
		font-size: 0.8rem;
	}
}

.anchor_target{
	position: relative;
}

.page_width1{
	max-width: 95%;
	width: 1000px;
	margin: 0 auto;
}
.page_width2{
	max-width: 95%;
	width: 900px;
	margin: 0 auto;
}
.page_width1 .page_width2{
	max-width: 100%;
}

.frame1{
	background-color: #fff;
	padding: 30px ;
	margin: 0 0 50px;
}
.frame1 .bg1{
	background-color: #f3faff;
	padding: 20px 30px;
	margin: 2rem -3rem 5rem;
}
.frame1 td .bg1{
	background-color: #f3faff;
	padding: 20px 30px;
	margin: 2rem 0 5rem;
}

.frame2{
	border: 1px solid #5395d0;
	border-radius: 20px;
	background-color: #fff;
	padding: 20px 30px 30px;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	line-height: 1.7;
	margin: 80px 0;
}

.center{
	text-align: center;
}

@counter-style type3 {
  /*system: alphabetic;
  symbols: "sym";
  prefix: "p";
  suffix: "s";*/
  system: cyclic;
  symbols: ◉ ➀;
  prefix: "p";
  suffix: ": ";
}

ol.type1{
	counter-reset: num;
	list-style-type: none;
	padding-left: 0;
	margin: 0 0;
}
ol.type1 > li{
	/*display: flex;*/
	text-indent: -1.7em;
	margin: 5px 0 5px 1.7em;
}
ol.type1 > li:before {
	counter-increment: num;
	content: '（'counter(num)'）';
	white-space: nowrap;
	/*margin: 0px 0 0;*/
}

ol.type2{
	counter-reset: num;
	list-style-type: none;
	padding-left: 0;
}
ol.type2 > li{
	/*display: flex;*/
	text-indent: -1.3em;
	margin: 5px 0 5px 1.3em;
}
ol.type2 > li:before {
	counter-increment: num;
	content: counter(num)'. ';
	white-space: nowrap;
}

ol.type3{
	list-style: type3;
	padding-left: 0;
}
ol.type3 > li{
	/*display: flex;*/
	/*text-indent: -1.3em;*/
	margin: 0;
}

table.type1{
/*	border-collapse: collapse;*/
	background-color: #0074bd;
	border-spacing: 2px;
	border: 2px solid #0074bd;
	width: 100%;
}
table.type1 th,
table.type1 td{
	font-size: 1.8rem;
	font-weight: 600;
	border-bottom: 1px solid #c2c2c2;
	padding: 10px 20px;
}
table.type1 th{
	text-align: center;
	white-space: nowrap;
	color: #0074bd;
	background-color: #d9eaf5;
}
table.type1 td{
	text-align: left;
	background-color: #fff;
	width: 750px;
}
@media (max-width: 550px) {
	table.type1 th,
	table.type1 td{
		font-size: 1.5rem;
		padding: 5px 10px;
	}
}

table.type2 th{
	vertical-align: top;
	text-align: left;
	font-weight: 300;
	white-space: nowrap;
}
table.type2 td{
	vertical-align: top;
}

table.type3{
	width: 100%;
	border-top: 1px solid #ccc;
	border-collapse: collapse;
}
table.type3 :is(th, td){
	text-align: left;
	font-weight: 600;
	border-bottom: 1px solid #ccc;
	padding: 1.5rem;
}
table.type3 th{
	font-size: min(2rem, 3.8vmin);
	white-space: nowrap;
}
table.type3 td{
}

.wpcf7cp-cfm-edit-btn,
.wpcf7cp-cfm-submit-btn,
body .button1,
body .button1_2{
	user-select: none;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	text-align: center;
	font-size: 2rem;
	font-weight: 600;
	color: #fff;
	background-color: #ebc56a;
	box-sizing: border-box;
	min-width: 460px;
	padding: 13px 30px;
	border-radius: 20px;
	border: 0;
}
.wpcf7cp-cfm-edit-btn:hover,
.wpcf7cp-cfm-submit-btn:hover,
body .button1:hover,
body .button1_2:hover{
	filter: brightness(1.05);
}
body .button1_2{
	line-height: 1.5;
	text-align: left;
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 15px;
}
body .button1_2:after{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-left: 0;
	border-top: 0;
	transform: rotate(-45deg);
}
body .button1_2 span{
	display: inline-block;
}
body .button1_2 span.text1{
	display: flex;
	justify-content: center;
}
body .button1_2 span.text1_1{
	display: flex;
	justify-content: center;
	align-items: center;
	border-right: 1px solid #fff;
	padding: 0 1rem 0 0;
	margin: 0 1rem 0 0;
	font-size: 2.4rem;
}
body .button1_2 span.text1_2{
	font-size: min(2rem, 3.5vmin);
}
@media (max-width: 780px) {
	body .button1_2 span.text1{
		flex-direction: column;
	}
	body .button1_2 span.text1_1{
		justify-content: flex-start;
		border: 0;
		border-bottom: 1px solid #fff;
		padding: 0 0 1rem 0;
		margin: 0 0 1rem 0;
	}
}
@media (max-width: 550px) {
	body .button1,
	body .button1_2{
		font-size: 1.7rem;
		min-width: 400px;
	}
}





/* トップページ ************************************************************************** */

.page-template-top h2{
	text-align: center;
	padding: 20px 0;
}

.page-template-top h4{
	text-align: center;
	margin: 20px 0;

	font-family: "zen-maru-gothic", sans-serif;
	font-weight: 900;
/*	visibility: hidden;*/
}
.page-template-top h5{
	font-family: "zen-maru-gothic", sans-serif;
	font-weight: 900;
/*	visibility: hidden;*/
}
.wf-zen-maru-gothic-n9-loading .page-template-top :is(h4, h5){
	visibility: visible;
	color: transparent !important;
}
.wf-zen-maru-gothic-n9-active .page-template-top :is(h4, h5){
	visibility: visible;
}

.page-template-top .area1{
	text-align: center;
	padding: 0px 3vw 25px;
}
.page-template-top .img2{
	position: absolute;
	top: 130px;
	left: calc(50% - 690px);
}
.page-template-top .img3{
	position: relative;
	top: 120px;
	left: calc(50% + 320px);
	margin: -350px -100px -150px 0;
}

.page-template-top .area2{
	font-size: 1.8rem;
	font-weight: 600;
	color: #595959;
	background-color: #faf9f4;
	padding: 1px 0 50px;
}

.page-template-top .banner2{
	display: flex;
	justify-content: center;
	gap: 20px 5px;
	margin: 0px 0 40px;
}
.page-template-top .banner2 a{
	transition: filter 0.15s linear;
}
.page-template-top .banner2 a:hover{
	filter: brightness(1.1);
}

.page-template-top .kakikyugyo{
	margin: 50px 0;
}
.page-template-top .kakikyugyo p{
	text-align: center;
	font-size: min(1.8rem, 3.3vw);
	letter-spacing: 0.1em;
	margin: 2em 0;
	padding: 1.5em 3vw ;
	border: 3px solid #0095d3;
	background-color: #fff;
}

.page-template-top .news{
	border: 1px solid #5395d0;
	border-radius: 1.7rem;
	padding: 2rem min(5rem, 4vmin);
	background-color: #fff;
	margin: 5rem 0;
}
.page-template-top .news h3{
	margin: 0 0 2rem;
}
.page-template-top .news .list .row{
	display: flex;
	gap: 3rem;
	font-size: 1.8rem;
	font-weight: 600;
	margin: 1.5rem 0;
}
.page-template-top .news .more_area{
	display: flex;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: 300;
	margin: 3rem 0 0;
}

.page-template-top .area2 h4{
	text-shadow: 
		#fff 0.075em 0,  #fff -0.075em 0,
		#fff 0 -0.075em, #fff 0 0.075em,
		#fff 0.075em 0.075em , #fff -0.075em 0.075em,
		#fff 0.075em -0.075em, #fff -0.075em -0.075em,
		#fff 0.025em 0.075em,  #fff -0.025em 0.075em,
		#fff 0.025em -0.075em, #fff -0.025em -0.075em,
		#fff 0.075em 0.025em,  #fff -0.075em 0.025em,
		#fff 0.075em -0.025em, #fff -0.075em -0.025em,
		rgba(0,0,0,0.55) 0.1125em 0.1em 0.25em;
}

.page-template-top .area2_nenmatunensi{
	text-align: center;
	letter-spacing: 0.07em;
	margin: 50px 0 100px;
}
html.sp .page-template-top .area2_nenmatunensi{
	letter-spacing: 0;
}
.page-template-top .area2_nenmatunensi p{
	margin: 35px 0;
}
.page-template-top .area2_nenmatunensi th{
	color: #595959;
}
.page-template-top .area2_nenmatunensi td{
	text-align: center;
	width: auto;
}
html.sp .page-template-top .area2_nenmatunensi :is(th, td):first-child{
	width: 105px;
}

.page-template-top .area2_2{
	display: flex;
	align-items: center;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 22px 40px;
	height: 480px;
}
.page-template-top .area2_2 .box{
	box-sizing: border-box;
	width: 47%;
	padding: 30px;
	border-radius: 20px;
}
.page-template-top .area2_2 .box1{
	background-color: #f6e3e6;
}
.page-template-top .area2_2 .box2{
	background-color: #f9f4ca;
}
.page-template-top .area2_2 .box3{
	background-color: #e5edd4;
}
.page-template-top .area2_2 .box4{
	background-color: #dcebee;
}
.page-template-top .area2_2 .box .sirowaku{
	text-align: center;
	box-sizing: border-box;
	background-color: #fff;
	width: 80%;
	padding: 8px;
	border-radius: 10px;
	margin: 20px auto;
}

.page-template-top .area2_2 h4{
	font-size: 2.8rem;
	margin: 0 0 20px;
}
.page-template-top .area2_2 .box1 h4{
	color: #ed88b4;
}
.page-template-top .area2_2 .box2 h4{
	color: #f4a300;
}
.page-template-top .area2_2 .box3 h4{
	color: #9aca69;
}
.page-template-top .area2_2 .box4 h4{
	color: #00a5e9;
}
.page-template-top .area2_2 p{
	margin: 0;
}
@media (max-width: 900px) {
	.page-template-top .area2_2{
		height: auto;
		margin: 0 0 50px;
	}
	.page-template-top .area2_2 .box{
		width: 100%;
	}
	.page-template-top .area2_2 .box1{
		order: 1;
	}
	.page-template-top .area2_2 .box2{
		order: 3;
	}
	.page-template-top .area2_2 .box3{
		order: 2;
	}
	.page-template-top .area2_2 .box4{
		order: 4;
	}
}

.page-template-top .omo_na_support{
	box-sizing: border-box;
	width: min(100%, 470px);
	margin: 0 auto 50px;
	padding: 30px;
	border-radius: 20px;
	background-color: #e2dce8;
}
.page-template-top .omo_na_support h4{
	font-size: 3rem;
	color: #9a7cb5;
	margin: 0 0 20px;
}
.page-template-top .omo_na_support h5{
	font-size: 2rem;
	color: #9a7cb5;
	margin: 20px 0 10px;
}
.page-template-top .omo_na_support p{
	margin: 0;
}

.page-template-top .area2_3{
	display: flex;
	align-items: center;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 22px 40px;
	height: 1050px;
	margin: 0px 0 0;
	font-feature-settings: normal;
}

.page-template-top .area2_3 .box{
	background-image: url(img/top/6_bg1.png);
	background-position: 50%;
	background-size: 8px;
	box-sizing: border-box;
	width: 47%;
	padding: 30px 30px 20px;
	border-radius: 20px;
	border: 1px solid #f0be4a;
	margin: 55px 0 0;
}
.page-template-top .area2_3 .box:nth-of-type(2n){
	background-image: url(img/top/6_bg2.png);
	border: 1px solid #bad667;
}
.page-template-top .area2_3 .box .row1{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	margin: -90px 0 0;
}
.page-template-top .area2_3 .box .row1 .maru{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
	border: 5px solid #f0be4a;
	background-color: #fff;
	width: 110px;
	height: 110px;
}
.page-template-top .area2_3 .box:nth-of-type(2n) .row1 .maru{
	border: 5px solid #bad667;
}
.page-template-top .area2_3 .box.dummy{
	padding: 0;
	border: 0;
	margin: 0;
}
.page-template-top .area2_3 h4{
	font-size: 2.4rem;
	color: #f29922;
	margin: 10px 0 15px;
}
.page-template-top .area2_3 p{
	letter-spacing: 0.05em;
	margin: 5px 0;
}
.page-template-top .area2_3 .orange{
	font-size: 1.6rem;
	color: #fff;
	background-color: #f29922;
	border-radius: 10px;
	padding: 10px 15px;
	margin: 5px 0;
}
@media (max-width: 900px) {
	.page-template-top .area2_3{
		height: auto;
		margin: 0 0 20px;
	}
	.page-template-top .area2_3 .box{
		width: 100%;
	}
	.page-template-top .area2_3 .box3{
		display: none;
		order: 100;
	}
}

body.page-template-top .button1{
}

.page-template-top .area2_4{
	text-align: center;
	margin: 0 0 60px 0;
}

.page-template-top .area2_5{
	font-feature-settings: normal;
}

.page-template-top .area2_5 .box_type1{
	position: relative;
	box-sizing: border-box;
	padding: 20px 30px 20px;
	border-radius: 20px;
	border: 1px solid #5395d0;
	background-color: #fff;
	margin: 55px 0 0;
}
.page-template-top .area2_5 .box_type1 .maru{
	position: absolute;
	left: 45px;
	top: -35px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
	background-color: #5395d0;
	box-sizing: border-box;
	width: 145px;
	height: 145px;
	padding: 0 0 10px;
}
.page-template-top .area2_5 .box_type1 h4{
	text-shadow: none;
	font-size: 2.6rem;
	color: #5395d0;
	border-radius: 10px;
	background-color: #d7eefb;
	padding: 20px;
	margin: 0 0 20px;
}
.page-template-top .area2_5 .box_type1 .row_button1{
	text-align: center;
	margin: 20px 0;
}

.page-template-top .area2_5 .box_type3 h5{
	text-align: center;
	font-size: 2.2rem;
	color: #5395d0;
	margin: 0 0 10px;
}
.page-template-top .area2_5 .box_type3{
	box-sizing: border-box;
	padding: 20px 50px 20px;
/*	border-radius: 20px;*/
	border: 1px solid #8e8a85;
	background-color: #fffbd0;
	margin: 10px 0 20px;
}
.page-template-top .area2_5 .row1{
	display: flex;
	justify-content: space-between;
}
.page-template-top .area2_5 .row1 .image{
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.page-template-top .area2_5 .row2{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
}
.page-template-top .area2_5 .row2 h5{
	font-size: 1.8rem;
	color: #5395d0;
	margin: 0 0 10px;
}

.page-template-top .area2_5 .box_type2{
	box-sizing: border-box;
	padding: 20px 100px 20px;
	border-radius: 20px;
	color: #fff;
	background-color: #5395d0;
	margin: 25px 0 70px;
}
.page-template-top .area2_5 .box_type2 h4{
	text-shadow: none;
	font-size: 3rem;
	color: inherit;
	margin: 0 0 15px;
}
.page-template-top .area2_5 :is(.box4, .box5) .row1 p{
	flex-basis: 47%;
}
@media (max-width: 950px) {
	.page-template-top .area2_5 .box_type1 .maru{
		left: 10px;
	}
}
@media (max-width: 900px) {
	.page-template-top .area2_5 .box_type1 .maru{
		left: 30px;
/*		left: calc(50% - 72px);*/
	}
	.page-template-top .area2_5 .box_type1 h4{
		margin-top: 70px;
	}
}
@media (max-width: 700px) {
	.page-template-top .area2_5 .box_type2{
		padding: 20px 30px 20px;
	}
	.page-template-top .area2_5 .box_type3{
		padding: 20px 20px 20px;
	}
	.page-template-top .area2_5 .box_type3 .row1{
		flex-direction: column;
	}
	.page-template-top .area2_5 .box4 .row1{
		flex-direction: column;
	}
}

.page-template-top .ryoukin_box{
	text-align: center;
}

.page-template-top .area2_6{
	margin: 0 0 70px;
}
.page-template-top .area2_6 .row1{
	padding: 20px 20px 10px;
	border-top: 1px solid #b8b8b8;
}
.page-template-top .area2_6 .row1:last-child{
	border-bottom: 1px solid #b8b8b8;
}
.page-template-top .area2_6 .row1 h4{
	text-shadow: none;
	text-align: left;
	font-size: 2.6rem;
	color: #5395d0;
	margin: 0 0 20px;
}

.page-template-top .area2 .area2_7{
	font-feature-settings: normal;
}
.page-template-top .area2 .area2_7 h4{
	text-shadow: none;
/*	text-align: left;*/
	font-size: 3.3rem;
	color: #5395d0;
	margin: 0 0 20px;
}
.page-template-top .area2 .area2_7 h4 small{
	display: block;
	font-size: 2.8rem;
}

table.ryoukin{
	border-collapse: collapse;
	width: 100%;
}
table.ryoukin :is(th, td){
	white-space: nowrap;
	text-align: center;
	font-size: 2.4rem;
	border: 1px solid #0074bd;
	padding: 15px 30px;
	background-clip: padding-box; /* Firefox対策。border が表示されるようにする。 */
}
table.ryoukin th.hidden{
	visibility: hidden;
	border: 0;
}
table.ryoukin th{
	color: #fff;
	border: 5px solid #0074bd;
}
table.ryoukin td{
	width: 30%;
	border: 3px solid #0074bd;
}
table.ryoukin thead td{
	position: relative;
	color: #fff;
	background-color: #0074bd;
}
table.ryoukin thead td:after{
	content: "";
	display: block;
	position: absolute;
	right: -2px;
	top: 0;
	height: 100%;
	width: 2px;
	background-color: #fff;
}
table.ryoukin thead td:last-child:after{
	display: none;
}
table.ryoukin tbody tr:last-child td{
	border-bottom: 5px solid #0074bd;
}
table.ryoukin td:last-child{
	border-right: 5px solid #0074bd;
}
table.ryoukin tbody.orange th{
	background-color: #f4a300;
}
table.ryoukin tbody.orange td{
	background-color: #fdefd7;
}
table.ryoukin tbody.pink th{
	background-color: #f19eb1;
}
table.ryoukin tbody.pink td{
	background-color: #fbe8ec;
}
@media (max-width: 900px) {
	table.ryoukin :is(th, td){
		font-size: min(2.4rem, 3.1vw);
		padding: 15px 2vw;
	}
}

.page-template-top .area2_7 .table_bottom{
	text-align: right;
}

ul.chui{
	font-size: 1.6rem;
	padding: 0;
	margin: 30px 0;
	list-style: none;
}
ul.chui > li{
	display: flex;
	margin: 5px 0;
}
ul.chui > li:before{
	content: "※";
	white-space: nowrap;
	font-feature-settings: normal;
}

ul.type1{
	padding: 0;
	margin: 0px 0;
	list-style: none;
}
ul.type1 > li{
	display: flex;
	margin: 5px 0;
}
ul.type1 > li:before{
	content: "・";
	white-space: nowrap;
	font-feature-settings: normal;
}

ul.type2{
	padding: 0;
	margin: 0px 0;
	list-style: none;
}
ul.type2 > li{
	text-indent: -1.3em;
	margin: 5px 0 5px 1.3em;
}
ul.type2 > li:before{
	content: "■ ";
	white-space: nowrap;
	font-feature-settings: normal;
}

.indent{
	text-indent: 0;
	margin: 0 0 0 1em;
}


.page-template-top .site-footer{
	margin: 0;
}

.page-template-top .banner1{
	margin: 60px 0 30px;
}





/* NEWS *************************************************************************** */

.news_page .site-main .page_width{
	width: 780px;
}

.news_page .frame1{
	padding: 3rem 0;
}

.news_page article{
	padding: 70px 80px 70px;
	border-bottom: 1px solid #000;
}
.news_page article:last-child{
	/*border-bottom: 0;*/
}
.news_page article .date{
	font-size: 1.4rem;
}
.news_page article .title{
	font-size: 2.3rem;
	font-weight: 600;
	margin: 2rem 0;
}
.news_page article .content{
	font-size: 1.6rem;
	line-height: 2.1;
}
.news_page .pagination{
	text-align: center;
	margin: 50px 0 200px;
}
.news_page .pagination h2{
	display: none;
}
.news_page .pagination .nav-links > div{
	display: inline-block;
	margin: 0 50px;
}

.news_page .single_nav{
	display: flex;
	justify-content: space-between;
	gap: 0 10%;
	padding: min(3rem, 5vw);
}
body.blog .news_page .single_nav{
	display: none;
}
.news_page .single_nav span{
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-basis: 30rem;
}
.news_page .single_nav span.next{
	justify-content: flex-end;
}

.news_page .archive_nav{
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	padding: min(3rem, 5vw);
}
body.single .news_page .archive_nav{
	display: none;
}
.news_page .archive_nav .page-numbers{
	user-select: none;
	display: none;
	justify-content: center;
	align-items: center;
	/* text-decoration: none; */
	white-space: nowrap;
	line-height: 1;
	width: 3rem;
	height: 3rem;
	border-radius: 0.5rem;
	border: 1px solid #0074bd;
	/* color: #0074bd; */
}
.news_page .archive_nav .page-numbers:is(.prev, .next){
	display: block;
	width: auto;
}
.news_page .archive_nav .page-numbers.prev{
	margin: 0 100px 0 0;
}
.news_page .archive_nav .page-numbers:is(.dots, .prev, .next){
	border: 0;
}
.news_page .archive_nav .page-numbers:not(.dots, .prev, .next):hover,
.news_page .archive_nav .page-numbers.current{
	color: #fff;
	background-color: #0074bd;
}
@media (max-width: 900px) {
	.news_page article{
		padding: 5vmin 4vmin 5vmin;
	}
}





/* 会社概要 ************************************************************************** */

.page-template-kaisyagaiyou .area1{
	text-align: center;
	font-weight: 600;
	font-size: 1rem;
}
.page-template-kaisyagaiyou .area1 .row1{
	font-size: 2.4em;
	margin: 2em 0 0 0;
}
.page-template-kaisyagaiyou .area1 .row2{
	font-size: 4em;
	margin: 0 0 0.9em 0;
}
.page-template-kaisyagaiyou .area1 .row3{
	font-size: 3.6em;
	margin: 0 0 0 0;
}
.page-template-kaisyagaiyou .area1 .row4{
	font-size: 2.2em;
	margin: 0 0 1em 0;
}
.page-template-kaisyagaiyou .area1 .row5{
	font-size: 3.6em;
	margin: 0 0 0 0;
}
.page-template-kaisyagaiyou .area1 .row6{
	font-size: 2.2em;
	margin: 0 0 1em 0;
}
.page-template-kaisyagaiyou .area1 .row7{
	font-size: 2.2em;
	margin: 0 0 5em 0;
}
.page-template-kaisyagaiyou .area1 .row8{
	display: inline-block;
	font-size: 2em;
	margin: 5em 0 0.9em 0;
}
.page-template-kaisyagaiyou .area1 .row9{
	font-size: 1.4em;
	margin: 0 0 3em 0;
}
@media (max-width: 600px) {
	.page-template-kaisyagaiyou .area1{
		font-size: 1.66vw;
	}
}





/* Q&Aページ ************************************************************************** */

.page-template-q_a h3{
}

.page-template-q_a h4{
	counter-reset: counter_q;
	text-align: center;
	font-size: 3rem;
	font-weight: 600;
	margin: 70px 0 40px;
}

.page-template-q_a .q_a_list{
	border-top: 1px solid #a8a8a8;
}
.page-template-q_a .q_a{
	border-bottom: 1px solid #a8a8a8;
}
.page-template-q_a .q_a .q{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 20px 20px 10px;
}
.page-template-q_a .q_a .q .left{
	font-size: 2.4rem;
	font-weight: 600;
	color: #0074bd;
	padding: 0 20px 0 0;
}
.page-template-q_a .q_a .q .left:before{
	counter-increment: counter_q;
	content: "Q" counter(counter_q);
}
.page-template-q_a .q_a .q .text{
	flex-grow: 1;
	font-size: 2.2rem;
	font-weight: 600;
}
.page-template-q_a .q_a .q .open{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 50px;
	width: 50px;
	height: 50px;
	background-color: #00a5e9;
	border-radius: 100px;
}
.page-template-q_a .q_a .q .open:hover{
	filter: brightness(1.2);
}
.page-template-q_a .q_a .q .open .arrow{
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border: 2px solid #fff;
	border-left: 0;
	border-top: 0;
	transform: translate(0px, -1px) rotate(45deg);
	transition: 0.4s ease-in-out;
}
.page-template-q_a .q_a .q .open .open_a:checked ~ .arrow{
	transform: translate(0px, 1px) rotate(225deg);
}
.page-template-q_a .q_a .q .open input{
	display: none;
}
.page-template-q_a .q_a .a{
	display: flex;
	align-items: center;
	padding: 0px 20px 0px 10px;
	height: 0px;
	overflow: hidden;
	transition: 0.4s ease-in-out;
}
.page-template-q_a .q_a.is_open .a{
	padding: 0px 20px 20px 10px;
	height: 300px;
}
.page-template-q_a .q_a .a .left{
	padding: 0 10px 0 0;
}
.page-template-q_a .q_a .a .left:before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 50px;
	background-image: url(img/q_a/1.png);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.page-template-q_a .q_a .a .text{
	flex-grow: 1;
	font-size: 2.2rem;
	font-weight: 600;
	color: #0074bd;
}
html.sp .frame1{
	padding: 30px 10px 60px;
}





/* 利用者の声ページ ************************************************************************** */

.page-template-riyousyanokoe h3{
	margin: 45px 0 30px;
}

.page-template-riyousyanokoe article{
	letter-spacing: 0.13em;
}
@media (max-width: 550px) {
	.page-template-riyousyanokoe article{
		letter-spacing: 0em;
	}
}

.page-template-riyousyanokoe article > .title{
	position: relative;
	text-align: center;
	font-size: 2.6rem;
	color: #5395d0;
	background-color: #ffe4de;
	border-radius: 10px;
	padding: 20px;
}
.page-template-riyousyanokoe article > .title .icon{
	position: absolute;
	left: 10px;
	top: -50px;
}
@media (max-width: 750px) {
	.page-template-riyousyanokoe article > .title{
		margin: 50px 0 0;
	}
	.page-template-riyousyanokoe article > .title .icon{
		left: -20px;
		top: -120px;
	}
}

.page-template-riyousyanokoe h4{
	font-size: 2.2rem;
	font-weight: 600;
	color: #5395d0;
	margin: 50px 0 30px;
}

.page-template-riyousyanokoe p{
	margin: 1.7em 0;
}

.page-template-riyousyanokoe ul.type1{
	margin: 0;
}
.page-template-riyousyanokoe ul.type1 li{
	margin: 0;
}

.page-template-riyousyanokoe .orei{
	border: 1px solid #8e8a85;
	background-color: #fffbd0;
	padding: 20px 20px 40px 70px;
	margin: 35px 0 0;
}
.page-template-riyousyanokoe .orei .title{
	text-align: center;
	font-size: 2.2rem;
	color: #5395d0;
	margin: 0 0 20px;
}
.page-template-riyousyanokoe .orei .honbun{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.page-template-riyousyanokoe .orei .honbun .right{
	min-width: 150px;
	margin: 0 0 0 40px;
}
@media (max-width: 750px) {
	.page-template-riyousyanokoe .orei{
		padding: 20px 20px 40px 20px;
	}
	.page-template-riyousyanokoe .orei .honbun{
		display: block;
	}
	.page-template-riyousyanokoe .orei .honbun .right{
		float: right;
		margin: 0 0 10px 20px;
	}
}





/* マンガページ ************************************************************************** */

.manga_page .links{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 70px;
	margin: 30px 0;
}
.manga_page .links a{
	text-align: center;
	text-decoration: none;
	font-size: 2rem;
	transition: 0.2s ease-in-out;
}
.manga_page .links a .icon{
	transition: 0.2s ease-in-out;
}
.manga_page .links a:hover{
	transform: scale(1.05);
}
@media (max-width: 900px) {
	.manga_page .links{
		gap: 20px 5%;
	}
}
@media (max-width: 600px) {
	.manga_page .links a{
		width: 47%;
		font-size: 3.3vw;
	}
}

.manga_page .title{
	text-align: center;
	margin: 70px 0 50px;
}
.manga_page .manga{
	text-align: center;
	margin: 70px 0 0;
}
.manga_page .title ~ .manga{
	margin: 0;
}
.manga_page .manga_footer{
	text-align: center;
	margin: 50px 0;
}





/* 動画ページ ************************************************************************** */

.page-template-douga h3{
	margin: 45px 0 30px;
}
.page-template-douga .douga{
	text-align: center;
}
.page-template-douga .frame2{
	padding: 30px;
}
.page-template-douga .douga iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 100 / 57;
}
.page-template-douga .douga .junbichu{
	max-width: 20%;
	margin: min(35px, 5vw) 0;
}
@media (max-width: 900px) {
	.page-template-douga .frame2{
		padding: 3.33vw;
	}
}





/* お問合せページ ************************************************************************** */

.thanks_url,
.back_form_text{
	display: none;
}

.back_form p{
	display: inline;
	margin: 0;
}

:is(.page-template-contact, .page-template-contact_riyou) h1,
.page-template-thanks h1{
	text-align: center;
	font-size: 2.6rem;
	margin: 0;
	padding: 30px 0 0;
	margin: 0 0 20px;
}

:is(.page-template-contact, .page-template-contact_riyou) .img1,
.page-template-thanks .img1{
	max-width: 85%;
}

:is(.page-template-contact, .page-template-contact_riyou) h2{
	text-align: center;
	font-size: 2.9rem;
	font-weight: 600;
	color: #0074bd;
	margin: 0;
	padding: 0px 0 10px;
}

@media (max-width: 700px) {
	:is(.page-template-contact, .page-template-contact_riyou) h3.entry_title{
		font-size: 5.71vw;
	}
}

:is(.page-template-contact, .page-template-contact_riyou) .jitudou_nagare{
	color: #595959;
	margin: 5rem 0 10rem;
}
:is(.page-template-contact, .page-template-contact_riyou) .jitudou_nagare h4{
	font-size: min(2.6rem, 4vmin);
	font-weight: 600;
}

:is(.page-template-contact, .page-template-contact_riyou) .button_area1{
	text-align: center;
	margin: 50px 0;
}
:is(.page-template-contact, .page-template-contact_riyou) .button_area1 p{
	display: inline-block;
}
:is(.page-template-contact, .page-template-contact_riyou) .button_area1 br.br{
	display: inline;
}

:is(.page-template-contact, .page-template-contact_riyou) .open_tuika_form,
:is(.page-template-contact, .page-template-contact_riyou) .close_tuika_form{
	min-width: 0;
}

:is(.page-template-contact, .page-template-contact_riyou) .red{
	color: #f00;
}

:is(.page-template-contact, .page-template-contact_riyou) .blue{
	font-weight: 600;
	color: #0074BD;
}

:is(.page-template-contact, .page-template-contact_riyou) p{
	line-height: 1.9;
	margin: 1em 0 0;
}

:is(.page-template-contact, .page-template-contact_riyou) p.p1{
	margin: 1em 0 30px;
}

:is(.page-template-contact, .page-template-contact_riyou) p.p2{
	font-weight: 600;
	color: #0074BD;
	margin: 1em 0 30px;
}

:is(.page-template-contact, .page-template-contact_riyou) ol p{
/*	display: inline;*/
	margin: 0;
}
:is(.page-template-contact, .page-template-contact_riyou) ol{
	/* margin: 0 0 1em; */
}

.hyphen{
	letter-spacing: 0.15em;
}

:is(.page-template-contact, .page-template-contact_riyou) .anchor_target{
	top: -50px;
}

:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_area{
	display: inline-block;
	text-align: left;
	margin: 50px 0 0;
}
:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_area p{
	display: inline-block;
	text-align: left;
}
:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_area a{
	display: inline-block;
	margin: 5px 0 20px;
}
:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_area .wpcf7-not-valid-tip{
	margin: -2px 0 0;
}

:is(.page-template-contact, .page-template-contact_riyou) .submit_area{
	margin: 30px 0 0;
}

:is(.page-template-contact, .page-template-contact_riyou) .form_frame{
	padding: 30px 30px 70px;
	overflow: hidden;
}

:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_frame{
	padding: 80px 30px 30px;
}
:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_frame .center{
	margin: 50px 0 10px;
}
:is(.page-template-contact, .page-template-contact_riyou) .privacy_policy_frame h4{
	font-size: 1.6rem;
	font-weight: 600;
	margin: 2em 0 0;
}

:is(.page-template-contact, .page-template-contact_riyou) .tuika_koumoku_blue{
	margin: 20px 0;
}
:is(.page-template-contact, .page-template-contact_riyou) .type_cf7 .close_tuika_form{
	display: none;
}
:is(.page-template-contact, .page-template-contact_riyou) #open_tuika_form{
	position: fixed;
	display: none;
}
:is(.page-template-contact, .page-template-contact_riyou) .tuika_form{
	display: none;
	transition: max-height 0.5s ease-in-out;
}
:is(.page-template-contact, .page-template-contact_riyou) .type_cf7.is_open_tuika_form .tuika_form{
	display: table-row-group;
}
:is(.page-template-contact, .page-template-contact_riyou) .type_cf7.is_open_tuika_form .open_tuika_form{
	display: none;
}
:is(.page-template-contact, .page-template-contact_riyou) .type_cf7.is_open_tuika_form .close_tuika_form{
	display: inline-block;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="search"],
textarea{
	font-size: 1.6rem;
	font-weight: 400;
	box-sizing: border-box;
	border: 1px solid #cdcdcd;
	border-radius: 4px;
	padding: 10px;
	margin: 0;
	width: 100%;
	outline: 0;
	-webkit-appearance: none; /* iPhone の入力欄へのエフェクトを消す */
}

textarea{
	height: 170px;
}

select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	font-size: 1.6rem;
	/*	line-height: 2;*/
	color: #2c3338;
	border: 1px solid #cdcdcd;
	border-radius: 3px;
	box-shadow: none;
	padding: 0 24px 0 8px;
	min-height: 40px;
	max-width: 25rem;
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
	background-size: 16px 16px;
	cursor: pointer;
	vertical-align: middle;
	outline: 0;
}
@-moz-document url-prefix(){
	select{
		padding: 8px 24px 0 8px;
	}
}
select[readonly]{
	cursor: default;
	user-select: none;
	pointer-events: none;
	background-color: #ddd;
	opacity: 0.2;
}

input[name="no_jogai"]{
	display: none;
}

input[name="your-tel"],
input[name="your-yubin"],
input[name="goriyou_nitiji"],
input[name="oazukari_nitiji"],
input[name="oazukari_nitiji"] + input[type="date"],
input[name="oazukari_yubin"],
input[name="renrakusaki1_tel"],
input[name="renrakusaki2_tel"],
input[name="tourokusya_renrakusaki"]{
	width: 200px;
	margin: 0 10px 0 0;
}
input[name="oazukari_nitiji"] + input[type="date"]{
	min-height: 40px;
}

input[name="okosama1"],
input[name="okosama2"],
input[name="okosama3"],
input[name="okosama4"]{
	width: 180px;
	margin: 0 10px 10px 0;
}

input[name="okosama1_seinengappi_nen"],
input[name="okosama2_seinengappi_nen"],
input[name="okosama3_seinengappi_nen"],
input[name="okosama4_seinengappi_nen"],
input[name="your-seinengappi_nen"]{
	text-align: center;
	width: 120px;
	margin: 0 5px 0 0;
}
input[name="your-seinengappi_tuki"],
input[name="your-seinengappi_hi"],
input[name="renrakusaki1_nenrei"],
input[name="renrakusaki2_nenrei"],
input[name="renrakusaki3_nenrei"],
input[name="renrakusaki1_tudukigara"],
input[name="renrakusaki2_tudukigara"],
input[name="renrakusaki3_tudukigara"],
input[name="okosama1_seinengappi_tuki"],
input[name="okosama2_seinengappi_tuki"],
input[name="okosama3_seinengappi_tuki"],
input[name="okosama4_seinengappi_tuki"],
input[name="okosama1_seinengappi_hi"],
input[name="okosama2_seinengappi_hi"],
input[name="okosama3_seinengappi_hi"],
input[name="okosama4_seinengappi_hi"],
input[name="okosama1_nenrei"],
input[name="okosama2_nenrei"],
input[name="okosama3_nenrei"],
input[name="okosama1_tudukigara"],
input[name="okosama2_tudukigara"],
input[name="okosama3_tudukigara"],
input[name="okosama1_seinen"],
input[name="okosama2_seinen"],
input[name="okosama3_seinen"],
input[name="okosama1_seigetu"],
input[name="okosama2_seigetu"],
input[name="okosama3_seigetu"],
input[name="okosama1_seiniti"],
input[name="okosama2_seiniti"],
input[name="okosama3_seiniti"],
input[name="okosama1_heinetu"],
input[name="okosama2_heinetu"],
input[name="okosama3_heinetu"],
input[name="okosama1_ketuekigata"],
input[name="okosama2_ketuekigata"],
input[name="okosama3_ketuekigata"],
input[name="your-seinengappi_hi"],
input[name="your-seinengappi_hi"]{
	text-align: center;
	width: 70px;
/*	margin: 0 5px 0 10px;*/
}

.wpcf7-list-item.first{
	margin: 0;
}

:is(.page-template-contact, .page-template-contact_riyou) .sirimasitaka .wpcf7-list-item{
	margin-bottom: 0.5rem;
}

label.nitiji{
	cursor: pointer;
	vertical-align: middle;
	display: inline-flex;
	align-items: center;
/*	width: 54px;*/
	height: 45px;
	padding: 0 60px 0 0;
	background-image: url(img/contact/1.png);
	background-size: 54px 45px;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	margin: 0 0 10px;
}

.wpcf7cp-btns{
	text-align: center;
}

.wpcf7cp-cfm-edit-btn,
.wpcf7cp-cfm-submit-btn{
	min-width: 200px;
}

table.type_cf7{
	border-collapse: collapse;
	width: 100%;
}
table.type_cf7 tbody.border{
/*	margin: 30px 0;*/
}
table.type_cf7 tbody.border tr td{
	background-clip: content-box;
	background-color: #cdcdcd;
	padding: 20px 0;
	height: 1px;
}
table.type_cf7 div.border tr{
	background-color: #cdcdcd;
	height: 1px;
	margin: 10px 0;
}
#wpcf7cpcnf table{
	width: auto;
	margin: 0 auto;
	border-collapse: collapse;
}
table.type_cf7 th,
table.type_cf7 td,
#wpcf7cpcnf table th,
#wpcf7cpcnf table td{
	text-align: left;
	font-weight: 300;
	padding: 10px 0;
}
#wpcf7cpcnf table th,
#wpcf7cpcnf table td{
	border-bottom: 1px solid #777;
	padding: 10px 10px;
}
table.type_cf7 th,
#wpcf7cpcnf table th{
	vertical-align: top;
	position: relative;
	white-space: nowrap;
	padding: 15px 20px 15px 0;
}
#wpcf7cpcnf table th{
	padding: 15px 20px 15px;
}
#wpcf7cpcnf table tr:last-child{
	/*display: none;*/
}
table.type_cf7 th.hissu:after{
	content: "※";
	color: #f00;
	padding: 0 7px;
}
table.type_cf7 td{
	width: 77%;
}
table.type_cf7 td.chui{
	line-height: 1;
	padding-top: 0;
}
table.type_cf7 td.chui p{
	line-height: 1;
}
table.type_cf7 p{
	display: inline;
	margin: 0;
}

#wpcf7cpcnf table p{
	display: inline;
}

div#wpcf7cpcnf{
	background-color: #fff;
}

.wpcf7-spinner{
	position: absolute;
	left: 50%;
	margin: 70px 0 0 -10px;
}

.title-contactform7.hidden{
	display: none;
}

.wpcf7-form-control-wrap[data-name="your-seinengappi_nen"],
.wpcf7-form-control-wrap[data-name="your-seinengappi_tuki"],
.wpcf7-form-control-wrap[data-name="your-seinengappi_hi"]{
/*	display: inline-block;*/
/*	vertical-align: top;*/
}
.wpcf7-form-control-wrap{
	position: relative;
}
.wpcf7-not-valid-tip{
	pointer-events: none;
	position: absolute;
	z-index: 10;
	left: 0;
	top: 25px;
	font-size: 1.3rem;
	white-space: nowrap;
}
:is(.wpcf7-radio, .wpcf7-checkbox) + .wpcf7-not-valid-tip{
	top: 15px;
}
textarea + .wpcf7-not-valid-tip{
	top: 15px;
}

.hidden_label .wpcf7-list-item-label{
	display: none;
}

div.wpcf7 {
	position: relative;
	height: auto;
}

.wpcf7 form .wpcf7-response-output{
	position: absolute;
	margin-top: -100px;
	box-sizing: border-box;
	width: 94%;
}

@media (max-width: 790px) {
	:is(.page-template-contact, .page-template-contact_riyou) h1,
	.page-template-thanks h1{
		font-size: 3.3vw;
	}
}

@media (max-width: 710px) {
	table.type_cf7,
	table.type_cf7 thead,
	table.type_cf7 tbody,
	table.type_cf7 tr,
	table.type_cf7 th,
	table.type_cf7 td{
		display: block;
	}
	table.type_cf7 th{
		padding: 10px 0 0px;
	}
	table.type_cf7 td{
		width: 100%;
		padding: 0px 0 10px;
	}
	#wpcf7cpcnf table tr{
		display: flex;
		flex-wrap: wrap;
		border-bottom: 1px solid #777;
		padding: 15px 15px;
	}
	#wpcf7cpcnf table :is(th, td){
		display: flex;
		align-items: center;
		border-bottom: 0;
	}
	#wpcf7cpcnf table th{
		padding: 5px 0;
		font-weight: 600;
	}
	#wpcf7cpcnf table td{
		padding: 5px 0 5px 30px;
	}
	#wpcf7cpcnf table :is(th, td) p{
		margin: 0;
	}

	input[name="your-seinengappi_nen"]{
		text-align: center;
		width: 100px;
		margin: 0 5px 0 0;
	}
	input[name="your-seinengappi_tuki"],
	input[name="your-seinengappi_hi"]{
		text-align: center;
		width: 60px;
		margin: 0 5px 0 10px;
	}
}



.page-template-thanks .area1 .center{
	margin: 50px 0 30px;
}


.error-404{
	text-align: center;
	padding: 100px 0;
}





