@charset "UTF-8";

/*
Theme Name: 2022mj_sato-osamu
Description: 2022mj_sato-osamu
Theme URI: https://sato-osamu.com/
Author: https://sato-osamu.com/
Author URI: https://sato-osamu.com/
Version: 1.0.0
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face {
	font-family: 'ShipporiMincho-Regular';
	src: url('fonts/Shippori_Mincho/ShipporiMincho-Regular.ttf') format('truetype');
	font-display: swap;
}
.shippori {
	font-family: 'ShipporiMincho-Regular';
}


* {
	font-size: inherit;
	line-height: inherit;
}
*, *:before, *:after {
	box-sizing: inherit;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #251E1F;
	font-size: 18px;
	line-height: 1.8;
	font-weight: normal;
	font-family: "ShipporiMincho-Regular", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}
p {
	margin:0 0 1.5em 0;
	padding: 0;
	font-weight: normal;
}
p:last-child {
	margin: 0;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 16px;
	}
}
@media screen and (max-width: 430px) {
	body {
		font-size: 15px;
	}
}
@media screen and (max-width: 320px) {
	body {
		font-size: 14px;
	}
}

/****************************************
 * リンク
*****************************************/

a {
	color: #251E1F;
	text-decoration: none;
	transition: all .3s ease;
	word-break: break-all;
}
a:hover {
	opacity: .7;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}

/*single テキストリンク
*****************************************/
#single .contents_textbox a,
#page .contents a {
	text-decoration: underline;
}

/* 別ウィンドウリンク
*****************************************/
a.tab {
	display: inline-block;
	position: relative;
	padding-right: 25px;
	line-height: 1;
}
a.tab:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 3px;
	background: url(images/common/icon140_tab.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 18px;
	height: 18px;
}

/* メインボタン
*****************************************/
.main_btn {
	overflow: hidden;
	display: inline-block;
	background: #FFF;
	text-decoration: none !important;
	color: #000;
	border: 1px solid;
	padding: 12px 2em;
	min-width: 10em;
	transition: all .3s;
	position: relative;
	z-index: 0;
}
.anim {
	transform: translateY(-50%) translateX(-50%);
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
}
.anim:before {
	content: '';
	position: relative;
	display: block;
	margin-top: 100%;
}
.anim:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border-radius: 50%;
}
.main_btn:hover {
	opacity: 1;
	background: #fafafa;
}
.main_btn:hover > .anim {
	animation: anim-out .75s;
}
.main_btn:hover > .anim:after {
	animation: anim-out-pseudo .75s;
}
@keyframes anim-out {
	0% { width: 0%; }
	100% { width: 100%; }
}
@keyframes anim-out-pseudo {
	0% { background: rgba(0, 0, 0, 0.25); }
	100% { background: transparent; }
}

/****************************************
 * h要素
*****************************************/
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0;
	text-align: center;
	line-height: 1;
}

.main_title {
	font-size: 2.3em;
}
.main_title span {
	display: block;
	font-size: .4em;
	color: #5498ca;
	margin-top: 18px;
}

@media screen and (max-width: 560px) {
	.main_title span {
		font-size: .5em;
	}
}
@media screen and (max-width: 430px) {
	.main_title span {
		margin-top: 12px;
		letter-spacing: normal;
	}
}

/****************** h1 ******************/

h1 {
	
}

h1.main_title {
	font-size: 2em;
	text-align: left;
	padding: 60px 0 0 60px;
	line-height: 1.6;
}
h1.main_title span {
	display: block;
	font-size: .5em;
	margin-top: 1em;
	position: relative;
	padding-left: 45px;
}
h1.main_title span:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 15px;
	top: .6em;
	width: 15px;
	height: 8px;
	background: #1F583B;
}

@media screen and (max-width: 560px) {
	h1.main_title {
		font-size: 1.6em;
		padding: 45px 0 0 45px;
	}
	
}
@media screen and (max-width: 430px) {
	h1.main_title {
		font-size: 1.3em;
		padding: 30px 0 0 0;
	}
	h1.main_title span {
		font-size: .7em;
	}
}

/****************** h2 ******************/

h2 {
	font-size: 2em;
	margin-bottom: 90px;
}


/****************** h3 ******************/

h3 {
	text-align: left;
	font-size: 1.3em;
	margin-bottom: 30px;
}
h3.aid_title {
	color: #5498ca;
	margin-bottom: 30px;
	text-align: left;
	font-size: 1.3em;
	line-height: 1;
}
h3.aid_title span {
	position: relative;
	padding-left: 20px;
}
h3.aid_title span:before {
	content: "";
	position: absolute;
	left: 0;
	background: #5498ca;
	width: 3px;
	height: 100%;
	border-radius: 4px;
}

@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 559px) {
	h2 {
		margin-bottom: 60px;
	}
	.front-page h2 {
		font-size: 2em;
	}
	#page h2 {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 430px) {
	h2 {
		margin-bottom: 30px;
	}
	.front-page h2 {
		font-size: 1.6em;
	}
	.front-page .reason h2 {
		letter-spacing: -1px;
	}
	#page h2 {
		font-size: 1.3em;
	}
	h3 {
		font-size: 1.2em;
	}
}
@media screen and (max-width: 380px) {
	.front-page h2 {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 320px) {
	.front-page h2 {
		font-size: 1.3em;
	}
	#page h2 {
		font-size: 1.2em;
	}
	h3 {
		font-size: 1.1em;
	}
}


/****************************************
リスト
*****************************************/
table {
	table-layout: fixed;
}
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}

/****************************************
 * レスポンシブ
*****************************************/

@media screen and (min-width: 1025px) {/*1025px以上で*/
	.tb {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width:1024px) {/*1024px以下で*/
	.tb {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 480px) {/*480px以下で*/
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}



/****************************************
 * 上部固定ヘッダー
*****************************************/

.fix_header {
	background: #FFF;
	color: #333;
	position: fixed;
	top: -120px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	opacity:0;
	z-index: 1000;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}
.fix_header a {
	display: inline-block;
	line-height: 0;
}
.fix_header_contents {
	width: 1160px;
	margin: 0 auto;
	padding: 15px 30px;
}
.fix_header nav#fix_header {
	margin-top: 8px;
	font-size: .9em;
}
.fix_header ul {
	list-style-type: none;
	margin: 15px 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}
.fix_header ul li {
	line-height: 1;
	font-size: 1em;
	font-weight: bold;
	position: relative;
}
.fix_header ul li:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) translateX(0);
	background: #ededed;
	background-position: center;
	background-size: 100%;
	width: 2px;
	height: 20px;
	border-radius: 3px;
}
.fix_header ul li:last-child {
	margin-right: 0;
}
.fix_header ul li:last-child:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) translateX(0);
	background: #ededed;
	background-position: center;
	background-size: 100%;
	width: 2px;
	height: 20px;
	border-radius: 3px;
}
.fix_header li a,
.fix_header li a:visited {
	display: block;
	padding: 0 22px;
	text-align: center;
}
.fix_header li:last-child{
	margin-right:0;
}

.fix_header ul ul {
	background: #FFF;
	width: 12em;
	position: absolute;
	top: 13px;
	left: 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	z-index: 1;
}
.fix_header ul ul li {
	width: 100%;
	margin: 0;
	text-align: left;
	border-bottom: 1px solid #ededed;
}
.fix_header ul ul li:before {
	content: none;
}
.fix_header ul ul li a {
	display: block;
	text-align: left;
	padding: 18px 12px;
}
.fix_header ul ul {
	visibility: hidden;
	opacity: 0;
	transition: .2s ease-in-out;
}
.fix_header ul li:hover > ul {
	padding: 0;
	visibility: visible;
	opacity: 1;
}


@media screen and (max-width: 1024px) {
	.fix_header_contents {
		width: 100%;
	}
}
@media screen and (max-width: 568px) {
	.fix_header {
		display: none;
	}
}


/****************************************
 * ヘッダー
*****************************************/

/*上部*/
header {
	width: 100%;
	position: sticky;
	top: 0;
	padding: 30px 60px 0;
	background: rgba(255,255,255,.8);
	z-index: 1;
}
header.front-page_header {
	position: fixed;
	background: none;
}
header .bloginfo {
	text-align: left;
	font-weight: normal;
	font-size: .8em;
	line-height: 1;
}
header .header_flex {
	display: flex;
	justify-content: space-between;
	padding: 20px 0 30px;
}
header .header_flex .inner {
	position: relative;
}
header .logo {
	margin: 0;
}
header .header_right {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
}
header .header_right .header_contact {
	display: flex;
	align-items: stretch;
	margin: 0 0 22px;
}

header nav.header_nav {
	font-size: .9em;
}
header nav.header_nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
}
header nav.header_nav ul li a {
	text-align: center;
	font-weight: bold;
	padding: 8px 12px;
}
header nav.header_nav ul li a:hover {
	opacity: 1;
	background: #0E3B73;
	color: #FFF;
}

@media screen and (max-width: 1024px) {
	header .header_top .inner {
		padding: 0 30px;
	}
	header nav.header_nav {
		
	}
	header nav.header_nav ul {
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 768px) {
	header {
		padding: 30px 30px 0;
	}
}
@media screen and (max-width: 559px) {
	header .logo {
		width: 140px;
	}
	header .header_top h1.bloginfo {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 430px) {
	header .header_top h1.bloginfo {
		font-size: .7em;
	}
}
@media screen and (max-width: 320px) {
	header .header_top .inner {
		padding: 0 15px;
	}
	
}

/****************************************
 * スマホナビゲーション
*****************************************/

#cat-nav {
	position: fixed;
	right: 30px;
	top: 30px;
	z-index: 999;
}
#cat-nav nav#cat-nav-body {
	position: relative;
}
#cat-nav nav#cat-nav-body input.cat-nav-unshown {
	display: none;
}
#cat-nav nav#cat-nav-body label#cat-nav-open {
	display: inline-block;
	width: 25px;
	height: 20px;
	vertical-align: middle;
}
#cat-nav nav#cat-nav-body label#cat-nav-open span,
#cat-nav nav#cat-nav-body label#cat-nav-open span:before,
#cat-nav nav#cat-nav-body label#cat-nav-open span:after {
	position: absolute;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background: #000;
	display: block;
	content: '';
	cursor: pointer;
}
#cat-nav nav#cat-nav-body label#cat-nav-open span:before {
	bottom: -8px;
}
#cat-nav nav#cat-nav-body label#cat-nav-open span:after {
	bottom: -16px;
}
#cat-nav nav#cat-nav-body label#cat-nav-close {
	display: none;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}
#cat-nav nav#cat-nav-body .cat-nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 70%;
	padding: 30px;
	max-width: 330px;
	height: 100%;
	background: #FFF;
	transition: 1s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
}
#cat-nav #cat-nav-input:checked ~ #cat-nav-close {
	display: block;
	opacity: .6;
}
#cat-nav #cat-nav-input:checked ~ .cat-nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
#cat-nav nav#cat-nav-body .cat-nav-content ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#cat-nav nav#cat-nav-body .cat-nav-content ul li {
	margin-top: 18px;
	font-size: 1.3em;
}
#cat-nav nav#cat-nav-body .cat-nav-content ul li a {
	display: block;
}

/****************************************
 * レイアウト
*****************************************/

.inner {
	padding: 0 30px;
	margin: 0 auto;
	width: 80%;
	min-width: 1260px;
}
.inner__nr {
	padding: 0 30px;
	width: 980px;
	margin: 0 auto;
}
main {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}
article {
	overflow: hidden;
	width: 100%;
}
article.front-page,
article#page {
	background: #FFF;
	padding-bottom: 0;
}
article#archive,
article#single {
	background: #FFF;
}
section {
	padding: 90px 0;
}
.contents {
	margin: 0 auto 0;
}
#archive .contents {
	padding: 90px 0;
}
#single .contents {
	padding: 0;
	margin: 90px auto 0;
	background: #FFF;
	border-radius: 12px;
}

@media screen and (max-width: 1260px) {
	.inner {
		min-width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.inner {
		width: 100%;
	}
	.inner__nr {
		width: 100%;
	}
	.contents,
	#archive .contents {
		padding: 60px 0;
	}
}
@media screen and (max-width: 768px) {
	section {
		padding: 75px 0;
	}
}
@media screen and (max-width: 559px) {
	.inner {
		padding: 0 30px;
	}
	section {
		padding: 60px 0;
	}
	.contents,
	#archive .contents {
		padding: 60px 0;
	}
}
@media screen and (max-width: 430px) {
	#single .contents {
		margin: 45px auto 0;
	}
}
@media screen and (max-width: 320px) {
	.inner,
	.inner__nr {
		padding: 0 20px;
	}
	section {
		padding: 45px 0;
	}
}

/****************************************
 * パンくず
*****************************************/

.breadcrumbs_area {
	padding: 30px 0;
	border-bottom: 1px solid #fafafa;
}
.breadcrumbs_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.breadcrumbs_flex .breadcrumbs {
	font-size: .7em;
	width: calc(100% - 150px);
}
.breadcrumbs_flex .back {
	width: 150px;
	font-size: .7em;
	text-align: right;
}

@media screen and (max-width: 560px) {
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 430px) {
	.breadcrumbs_area {
		padding: 20px 0;
	}
	.breadcrumbs_flex {
		align-items: stretch;
		flex-direction: column;
	}
	.breadcrumbs_flex .breadcrumbs,
	.breadcrumbs_flex .back {
		width: 100%;
		font-size: .9em;
	}
	.breadcrumbs_flex .back {
		margin: 18px 0 0;
	}
}


/****************************************
 * p-back.php
*****************************************/

#back {
	padding: 30px 0;
	text-align: right;
	font-size: .8em;
}

/****************************************
 * 共通
*****************************************/

#loading {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	opacity: 1;
	visibility: visible;
}
#loading.is-active {
	opacity: 0;
	visibility: hidden;
}
#loadingLogo {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
}
#loadingLogo.is-active {
	opacity: 1;
	visibility: visible;
}

.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition: all 1s;
}

/*ビジュアル
*****************************************/
.page_topimage {
	padding: 45px 0;
	border-bottom: 1px solid #ededed;
	border-top: 1px solid #ededed;
	box-shadow: 0px 0px 8px 1px #ededed;
	position: relative;
}

@media screen and (max-width: 320px) {
	.page_topimage {
		padding: 30px 0;
	}
}

.page_topimage .page_title {
	overflow: hidden;
	display: flex;
	justify-content: center;
}
.page_topimage h2.topimage_title {
	text-align: center;
	font-size: 1.6em;
	margin: 0;
}


.pagecontents_title {
	font-size: 2em;
	text-align: center;
}
.pagecontents_title span {
	display: block;
	text-transform: uppercase;
	font-size: .4em;
	font-weight: bold;
}

@media screen and (max-width: 560px) {
	.page_topimage h2.topimage_title {
		font-size: 2em;
	}
	.pagecontents_title {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 430px) {
	.page_topimage h2.topimage_title {
		font-size: 1.6em;
	}
	.pagecontents_title {
		font-size: 1.3em;
	}
}
@media screen and (max-width: 320px) {
	.page_topimage h2.topimage_title {
		font-size: 1.3em;
	}
	.pagecontents_title {
		font-size: 1.2em;
	}
}

/*ボタンボックス
*****************************************/
.button_box {
	text-align: center;
	margin-top: 45px;
	position: relative;
	z-index: 0;
}

@media screen and (max-width: 430px) {
	.button_box {
		margin-top: 30px;
	}
}


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

/* トップイメージ
*****************************************/
.topimage {
	padding: 0;
}
.topimage .slide {
	position: relative;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	background-color: #000;
}
.topimage .slide .image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	animation: slider-1 26s linear infinite;
}
.topimage .slide .image:nth-child(1) {
	background-image: url(images/front-page/topimage_greek.png);
	animation-delay: -2s;
}
.topimage .slide .image:nth-child(2) {
	background-image: url(images/front-page/topimage_yamabito.png);
	animation-delay: 6s;
}
.topimage .slide .image:nth-child(3) {
	background-image: url(images/front-page/topimage_mizu.png);
	animation-delay: 14s;
}
.topimage .slide .image:nth-child(4) {
	background-image: url(images/front-page/topimage_sirokuro.png);
	animation-delay: 20s;
}

@keyframes slider-1 {
	0% {
	  opacity: 0;
		transform: scale(1);
	}
	4.16% {
		opacity: 1;
	}
	33.33% {
	  opacity: 1;
	}
	41.66% {
	  opacity: 0;
	  transform: scale(1.2);
	}
	100% {
		opacity: 0;
	}
}


@media screen and (max-width: 560px) {
	.topimage .slide .image:nth-child(1) {
		background-image: url(images/front-page/topimage_sp_greek.jpg);
		animation-delay: -2s;
	}
	.topimage .slide .image:nth-child(2) {
		background-image: url(images/front-page/topimage_sp_yamabito.jpg);
		animation-delay: 6s;
	}
	.topimage .slide .image:nth-child(3) {
		background-image: url(images/front-page/topimage_sp_mizu.jpg);
		animation-delay: 12s;
	}
	.topimage .slide .image:nth-child(4) {
		background-image: url(images/front-page/topimage_sp_sirokuro.jpg);
		animation-delay: 18s;
	}
}
@media screen and (max-width: 430px) {
	.topimage .slide {
		height: 80vh;
	}
}

.gallery .gallery_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	position: relative;
	padding: 0 90px;
}
.gallery .gallery_box a {
	text-decoration: none !important;
}
.gallery .gallery_box .gallery_item {
	max-width: 600px;
	width: calc(100%/2 - 30px);
	display: flex;
	align-items: center;
	flex-direction: column;
	margin: 60px 0 0;
	position: relative;
}
.gallery .gallery_box .gallery_item .gallery_thumbnail {
	width: 100%;
}
.gallery .gallery_box .gallery_item .gallery_thumbnail img:hover {
	opacity: 1;
}
.gallery .gallery_box .gallery_item .gallery_thumbnail_bottom {
	width: 100%;
	padding: 30px 0 0;
}
.gallery .gallery_box .gallery_item .gallery_title {
	text-align: center;
	margin: 0;
}
.gallery .gallery_box .gallery_item.gallery_child1 {
	margin-top: 0;
}
.gallery .gallery_box .gallery_item.gallery_child2 {
	margin-top: 530px;
}
.gallery .gallery_box .gallery_item.gallery_child3 {
	margin-top: -150px;
}
.gallery .gallery_box .gallery_item.gallery_child4 {
	margin-top: 380px;
}

@media screen and (max-width: 1024px) {
	.gallery .gallery_box {
		padding: 0 60px;
	}
}
@media screen and (max-width: 768px) {
	.gallery .gallery_box {
		padding: 0 30px;
	}
	.gallery .gallery_box .gallery_item.gallery_child2 {
		margin-top: 280px;
	}
	.gallery .gallery_box .gallery_item.gallery_child3 {
		margin-top: -120px;
	}
	.gallery .gallery_box .gallery_item.gallery_child4 {
		margin-top: 180px;
	}
}
@media screen and (max-width: 560px) {
	.gallery .gallery_box {
		padding: 0;
		flex-direction: column;
	}
	.gallery .gallery_box .gallery_item {
		width: 100%;
	}
	.gallery .gallery_box .gallery_item.gallery_child2,
	.gallery .gallery_box .gallery_item.gallery_child3,
	.gallery .gallery_box .gallery_item.gallery_child4 {
		margin-top: 60px;
	}
}
@media screen and (max-width: 430px) {
	.gallery .gallery_box {
		justify-content: space-between;
	}
	.gallery .gallery_box .gallery_item.gallery_child2,
	.gallery .gallery_box .gallery_item.gallery_child3,
	.gallery .gallery_box .gallery_item.gallery_child4 {
		margin-top: 45px;
	}
}

/* プロフィール
*****************************************/
.profile {
	margin: 180px 0 0;
	background: #fafafa;
}
.profile .profile_box {
	position: relative;
}
.profile .profile_image {
	width: 780px;
	margin: -180px 0 60px 0;
}
.profile .profile_contenst {
	position: relative;
	width: 100%;
	text-align: center;
}

/*スクロールバー*/
.profile .profile_text::-webkit-scrollbar {
	width: 16px;
}
.profile .profile_text::-webkit-scrollbar-track {
	background: #ededed;
	border-radius: 20px;
}
.profile .profile_text::-webkit-scrollbar-thumb {
	background: #58a7d2;
	border-radius: 20px;
}

@media screen and (max-width: 1024px) {
	.profile .profile_image {
		width: 580px;
	}
}
@media screen and (max-width: 768px) {
	.profile .profile_image {
		width: 460px;
		margin: -180px auto 60px;
	}
}
@media screen and (max-width: 560px) {
	.profile {
		margin: 150px 0 0;
	}
	.profile .profile_image {
		width: calc(100% + 60px);
		margin: -180px -30px 60px;
	}
	
}
@media screen and (max-width: 480px) {
	.speech .message_contenst {
		padding: 30px;
	}
}
@media screen and (max-width: 430px) {
	.speech .message_contenst {
		margin: -45px 20px 0;
		padding: 30px 20px;
	}
}
@media screen and (max-width: 320px) {
	.speech .message_contenst {
		margin: 0;
		padding: 30px 20px;
	}
}


/* お知らせ */
ul.news_category_list {
	list-style: none;
	width: 700px;
	margin: -30px auto 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.news_category_list li {
	width: calc(100%/3);
	text-align: center;
	margin: 30px 0 0;
}
ul.news_category_list li:first-child {
	
}
ul.news_category_list li a {
	display: block;
	padding: 8px 12px;
	text-decoration: none;
}
ul.news_category_list li a:hover {
	background: #0E3B73;
	color: #FFF;
}

@media screen and (max-width: 768px) {
	ul.news_category_list {
		width: 100%;
	}
}
@media screen and (max-width: 559px) {
	ul.news_category_list {
		margin: 0 auto;
	}
	ul.news_category_list li {
		width: calc(100%/2);
		margin: 0;
	}
	ul.news_category_list li a {
		padding: 18px;
	}
}
@media screen and (max-width: 430px) {
	
}

/****************************************
 * Gutenberg（グーテンベルク）
*****************************************/

.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.screen-reader-text {}

.wp-block-quote {
	background: #fafafa;
	padding: 15px 15px 15px 1.3em !important;
}
figure.wp-block-table {
	padding: 0;
	width: 100%;
	border-collapse: collapse;
}
figure.wp-block-table table th,
figure.wp-block-table table td {
	border-bottom: 1px #999 solid;
	padding: 30px 15px;
}
figure.wp-block-table table th {
	width: 30%;
}
.wp-block-group {
	margin-top: 90px;
}
.wp-block-group:first-child {
	margin: 0;
}
figure {
	display: block;
	margin: 0;
}
figcaption {
	line-height: 1.5;
	font-size: .8em;
	text-align: center;
	margin-top: 15px;
}

@media screen and (max-width: 768px) {
	.wp-block-group {
		margin-top: 75px;
	}
}
@media screen and (max-width: 559px) {
	.wp-block-group {
		margin-top: 60px;
	}
}
@media screen and (max-width: 430px) {
	.wp-block-group {
		margin-top: 45px;
	}
}


/****************************************
 * 固定ページ
 * プロフィール
*****************************************/

#profile .profile_flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#profile .profile_flex .profile_flex___photo {
	width: calc(100%/2 - 30px);
}

#profile .profile_text {
	width: 800px;
	margin: 60px auto;
}
#profile .profile_text p.name {
	font-size: 1.3em;
}
#profile .profile_text p.name span {
	display: block;
	font-size: .7em;
}

#profile .biography {
	width: 800px;
	margin: 120px auto 0;
}
#profile .biography dl {
	width: 100%;
	font-size: .9em;
	margin: 30px 0 0;
	display: flex;
}
#profile .biography dl dt {
	width: 150px;
	position: relative;
}
#profile .biography dl dt:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1em;
	right: 0;
	border-top: 1px dotted #999;
	width: 30px;
	height: 1px;
}
#profile .biography dl dd {
	width: calc(100% - 170px);
	padding-left: 20px;
}
#profile .biography dl dd ul {
	list-style: inside;
	margin: -26px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
#profile .biography dl dd ul li {
	width: 100%;
	text-indent: -25px;
	padding-left: 26px;
	margin: 26px 0 0;
}

@media screen and (max-width: 1024px) {
	#profile .profile_flex .profile_flex___photo {
		width: calc(100%/2 - 20px);
	}
}
@media screen and (max-width: 768px) {
	#profile .profile_flex {
		flex-direction: column;
	}
	#profile .profile_flex .profile_flex___photo {
		width: auto;
		margin: 18px auto 0;
	}
	
	#profile .profile_text {
		width: 100%;
	}
	#profile .profile_text p.name {
		text-align: center;
	}
	#profile .biography {
		width: 100%;
		margin: 90px auto 0;
		padding: 0 60px;
	}
}
@media screen and (max-width: 560px) {
	#profile .profile_flex .profile_flex___text {
		padding: 45px 0 0;
	}
	#profile .biography {
		margin: 75px auto 0;
		padding: 0 30px;
	}
	#profile .biography dl dt {
		width: 120px;
	}
	#profile .biography dl dd {
		width: calc(100% - 120px);
	}
}
@media screen and (max-width: 560px) {
	#profile .biography {
		padding: 0;
	}
	#profile .biography dl dt {
		width: 110px;
	}
	#profile .biography dl dt:before {
		width: 20px;
	}
	#profile .biography dl dd {
		width: calc(100% - 110px);
	}
}
@media screen and (max-width: 430px) {
	#profile .biography dl {
		width: 100%;
		display: block;
	}
	#profile .biography dl dt,
	#profile .biography dl dd {
		width: 100%;
	}
	#profile .biography dl dt {
		padding-left: 33px;
	}
	#profile .biography dl dt:before {
		left: 0;
	}
	#profile .biography dl dd {
		padding: 0;
		margin: 8px 0 0;
	}
}

/****************************************
 * お問い合わせ
*****************************************/

#contact .contact_box {
	width: 900px;
	margin: 0 auto;
}
#contact p.summary {
	width: 720px;
	margin: 0 auto;
}

/*確認ページのメールアドレス2つめ*/
.page-id-46 span.check_no {
	display: none;
}

/*フォーム*/
#contact .mw_wp_form_input,
#contact .mw_wp_form_confirm {
	margin-top: 90px;
	padding: 30px;
}
#contact table {
	width: 100%;
	margin: 0 auto;
}
#contact table,
#contact table th,
#contact table td {
	border-collapse: collapse;
}
#contact table tr {
	margin: 60px 0 0;
	display: flex;
	flex-direction: column;
}
#contact table th {
	width: 100%;
	text-align: left;
	padding: 0 0 0 32px;
	font-weight: normal;
	font-family: serif;
	position: relative;
}
#contact table th:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translate(0,-50%);
	background: #000;
	width: 10px;
	height: 10px;
}
#contact table td {
	width: 100%;
	text-align: left;
	padding: 0;
	margin: 12px 0 0;
}
#contact table td dl {
	display: table;
}
#contact table td dt {
	width: 180px;
	display: table-cell;
	vertical-align: middle;
}
#contact table td dd {
	display: table-cell;
	vertical-align: middle;
	padding-left: 12px;
}
#contact textarea.consultation {
	min-height: 220px;
}

#contact .policy {
	text-align: center;
	margin-top: 45px;
}
.page-id-25 #contact table.contact_form td.position span.memo {
	display: none;
}
#contact input.mail_check {
	margin-top: 12px;
}
#contact input.postcode {
	width: 120px;
	margin-bottom: 5px;
}
#contact .check_send {
	text-align: center;
	margin-top: 30px;
}


#contact input.send {
	border: 1px solid;
	padding: 12px 2em;
	min-width: 10em;
	background: #0E3B73;
	color: #FFF;
	transition: all .3s;
}
#contact input.send:hover {
	background: #FFF;
	color: #000;
}
#contact input.back {
	border: 1px solid;
	padding: 12px 2em;
	min-width: 10em;
	background: #0E3B73;
	color: #FFF;
	transition: all .3s;
	margin-right: 30px;
}
#contact input.back:hover {
	background: #FFF;
	color: #000;
}


@media screen and (max-width: 1024px) {
	#contact .contact_box {
		width: 100%;
	}
	#contact p.summary {
		width: 100%;
		padding: 0 60px;
	}
}
@media screen and (max-width: 768px) {
	
	/*フォーム*/
	#contact .mw_wp_form_input,
	#contact .mw_wp_form_confirm {
		margin-top: 75px;
		padding: 0;
	}
	#contact table tr {
		margin: 30px 0 0;
	}
}
@media screen and (max-width: 559px) {
	
	#contact p.summary {
		width: 100%;
		padding: 0 30px;
	}
	
	/*フォーム*/
	#contact .mw_wp_form_input,
	#contact .mw_wp_form_confirm {
		margin-top: 60px;
	}
	#contact table td {
		margin: 0;
	}
	
	#contact table th.hissu {
		padding: 15px 15px 15px 60px;
	}
	#contact table td {
		padding: 15px 0;
	}
}
@media screen and (max-width: 430px) {
	
	#contact p.summary {
		padding: 0;
	}
	
	/*フォーム*/
	#contact .mw_wp_form_input,
	#contact .mw_wp_form_confirm {
		margin-top: 45px;
	}
	
	#contact table td dl,
	#contact table td dt,
	#contact table td dd {
		display: block;
		width: 100%;
		padding: 0;
	}
	#contact table td dd {
		margin: 8px 0 0;
	}
	#contact input.mail_check::placeholder {
		font-size: .8em;
	}
	#contact input.back,
	#contact input.send {
		width: 100%;
		margin: 0;
	}
	#contact input.send {
		margin: 6px 0 0;
	}
}
@media screen and (max-width: 320px) {
	
	/*フォーム*/
	#contact .mw_wp_form_input,
	#contact .mw_wp_form_confirm {
		margin-top: 30px;
	}
}



/****************************************
 * フォーム
*****************************************/

/* iOSリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

/*フォーム*/
textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	font-size: 1em;
	margin: 0;
	padding: 10px;
	width: 100%;
	max-width: 100%;
	outline: none;
	color: #000;
	vertical-align: bottom;
	transition: .3s;
	letter-spacing: 1px;
	border: none;
	border-bottom: 1px solid #ededed;
	background: #FFF;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	background: #fafafa;
	border: none;
	border-bottom: 1px solid #0E3B73;
	outline: none;
}
select {
	position: relative;
	width: 100%;
	padding: 10px 45px 10px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #ededed;
	background: #fff url(images/common/select_arrow.jpg) no-repeat;
	background-position: right center;
	background-size: 25px, 100%;
	font-size: 1em;
	color: #000;
	border-radius: 6px;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	height: auto;
	text-align: center;
	text-decoration: none;
	color: #000;
	background: #FFF;
	outline: none;
	position: relative;
}
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	background: #1F4865;
}

@media screen and (max-width: 559px) {
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		margin: 0 0.5em;
		padding: 0 3.5em;
		line-height: 60px;
	}
}


/****************************************
 * リンク
*****************************************/

#links h3 {
	margin: 0;
	text-align: left;
	font-size: 1.3em;
	line-height: 1;
}
#links h3 span {
	position: relative;
	padding: 0 0 0 18px;
}
#links h3 span:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #000;
	width: 1px;
	height: 1.3em;
}
#links ul {
	margin: 60px 0 0;
	padding: 0;
	list-style: inside;
}
#links ul li {
	margin: 12px 0 0;
	text-indent: -22px;
	padding-left: 22px;
}


@media screen and (max-width: 430px) {
	#links ul {
		margin: 45px 0 0;
	}
}
@media screen and (max-width: 320px) {
	
}


/****************************************
 * 利用規約
 * プライバシーポリシー
*****************************************/

#policy h3 {
	text-align: left;
	margin-bottom: 15px;
	padding-left: 20px;
	line-height: 1;
	font-family: sans-serif;
	position: relative;
}
#policy h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	width: 4px;
	height: 22px;
	border-radius: 6px;
}
#policy ul {
	list-style: inside;
	margin: 0 0 30px 1em;
	padding: 0;
}

@media screen and (max-width: 768px) {
	
}
@media screen and (max-width: 559px) {
	
}
@media screen and (max-width: 430px) {
	
}
@media screen and (max-width: 320px) {
	
}

/****************************************
 * サイトマップ
*****************************************/

ul#menu-sitemaps-nav {
	padding: 0;
	margin: -26px auto 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
}
ul#menu-sitemaps-nav li {
	width: 100%;
	margin: 26px 0 0;
}
ul#menu-sitemaps-nav li a {
	display: block;
	padding: 12px;
	text-decoration: none !important;
}

@media screen and (max-width: 560px) {
	ul#menu-sitemaps-nav li a {
		padding: 12px 45px 12px 30px;
	}
	ul#menu-sitemaps-nav li ul.sub-menu li a {
		padding: 12px 45px 12px 45px;
	}
	ul#menu-sitemaps-nav li:nth-child(2):before {
		top: 25px;
	}
}
@media screen and (max-width: 430px) {
	ul#menu-sitemaps-nav li a {
		padding: 8px 30px 8px 15px;
	}
	ul#menu-sitemaps-nav li ul.sub-menu li a {
		padding: 8px 30px 8px 25px;
	}
	ul#menu-sitemaps-nav li:before {
		right: 15px;
		width: 10px;
		height: 10px;
	}
}


/****************************************
 * コラム
 * home.php
 * single.php
*****************************************/

/* コラム一覧
*****************************************/
ul#news_list {
	list-style: none;
	padding: 0;
	margin: -90px 0 0;
}
ul#news_list li {
	margin: 90px 0 0;
}
ul#news_list .news_list_box {
	padding: 0 0 90px;
}
ul#news_list .post_title {
	margin: 0;
	text-align: left;
	font-size: 1.3em;
	line-height: 1;
}
ul#news_list .post_title span {
	display: inline-block;
	padding: 0 0 0 18px;
	line-height: 1.8;
	position: relative;
}
ul#news_list .post_title span:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #000;
	width: 1px;
	height: 100%;
	
}
ul#news_list .news_list_contents {
	margin: 60px auto 0;
	padding-left: 60px;
}
ul#news_list a {
	display: block;
}
ul#news_list .break_box {
	display: flex;
	justify-content: center;
}
ul#news_list .break {
	position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #EAEAEA;
  box-shadow: 0 0 6px #EDEDED;
}
ul#news_list li:last-child .break {
	display: none;
}
ul#news_list .break:before,
ul#news_list .break:after {
	content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 1px solid #EDEDED;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 2.3s linear infinite;
}
ul#news_list .break::after {
  animation-delay: 1.6s;
}

@keyframes pulsate {
  0% {
    transform: scale(.8);
    opacity: 1;
  }

  100% {
    transform: scale(2.6);
    opacity: 0;
  }
}

@media screen and (max-width: 768px) {
	ul#news_list li {
		margin: 75px 0 0;
	}
}
@media screen and (max-width: 560px) {
	ul#news_list li {
		margin: 60px 0 0;
	}
	ul#news_list .news_list_box {
		padding: 30px 0;
	}
	ul#news_list:first-child .news_list_box {
		padding: 0 0 30px;
	}
	ul#news_list .post_title {
		font-size: 1.2em;
	}
	ul#news_list .news_list_contents {
		padding: 0;
		margin: 30px auto 0;
	}
}
@media screen and (max-width: 430px) {
	ul#news_list .news_list_box {
		padding: 20px 0;
	}
	ul#news_list .post_title {
		font-size: 1.1em;
	}
}

/* single.php
*****************************************/
#single .meta {
	padding: 0 60px 30px;
	border-bottom: 1px solid #EFF5FA;
}
#single .meta .the_title {
	font-size: 1em;
	margin: 0;
}
#single .meta span.date {
	font-weight: normal;
}
#single .contents_textbox {
	padding: 30px 60px 60px;
	border-top: 1px solid #C8DEEE;
}
#single .related {
	position: relative;
	z-index: 1;
}
#single .related:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -180px;
	left: 0;
	right: 0;
	background: #EFF5FA;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#single .related .related_box {
	padding: 60px;
	background: #fafafa;
	border: 1px solid #ededed;
	border-radius: 12px;
}

@media screen and (max-width: 560px) {
	#single .meta {
		padding: 0 0 30px;
	}
	#single .contents_textbox {
		padding: 30px 0 60px;
	}
	ul#columns_list .post_title {
		font-size: 1.1em;
	}
	#single .related .related_box {
		padding: 45px;
	}
}
@media screen and (max-width: 430px) {
	ul#columns_list .columns_list_box {
		padding: 20px 0;
	}
	ul#columns_list .post_title {
		font-size: 1em;
	}
	#single .related .related_box {
		padding: 30px 20px;
	}
}

/****************************************
 * News
 * archive.php
 * single-news.php
*****************************************/

#single-news .meta {
	padding: 60px 60px 30px !important;
	border-bottom: 1px solid #ededed;
}
#single-news .meta span.date {
	font-size: .9em;
}
#single-news .meta span.the_title {
	font-size: .9em;
	display: block;
	font-weight: bold;
}
#single-news .contents_textbox {
	padding: 30px 60px 60px;
	border-top: 1px solid #C8DEEE;
}

#single-news .bottom_contents {
	margin: 90px auto 60px;
}
@media screen and (max-width: 560px) {
	#single-news .meta {
		padding: 45px 45px 30px !important;
	}
	#single-news .contents_textbox {
		padding: 30px 45px 45px !important;
	}
	#single-news .bottom_contents {
		margin: 75px auto 0;
	}
}
@media screen and (max-width: 430px) {
	#single-news .meta {
		padding: 45px 20px 30px !important;
	}
	#single-news .contents_textbox {
		padding: 30px 20px 45px !important;
	}
	#single-news .bottom_contents {
		margin: 60px auto 0;
	}
}
@media screen and (max-width: 320px) {
	#single-news .meta {
		padding: 30px 15px 30px !important;
	}
	#single-news .contents_textbox {
		padding: 30px 15px 30px !important;
	}
}


/****************************************
 * コラム
 * archive-column.php
 * single-column.php
*****************************************/

ul#column_list {
	list-style: none;
	margin: -90px 0 0;
	padding: 0;
}
ul#column_list li {
	margin: 90px 0 0;
	position: relative;
}
ul#column_list li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	width: 1px;
	height: 28%;
	background: #0E3B73;
}
ul#column_list li .column_list_box {
	padding: 90px 90px 0 90px;
}
ul#column_list li:nth-child(even) .column_list_box {
	background: #fafafa;
	padding: 90px;
}
ul#column_list li .column_list_box .post_title {
	font-weight: bold;
	color: #0E3B73;
}
ul#column_list li .column_list_box .post_title span {
	display: inline-block;
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	ul#column_list li .column_list_box {
		padding: 75px 75px 0 75px;
	}
	ul#column_list li:nth-child(even) .column_list_box {
		padding: 75px;
	}
}
@media screen and (max-width: 560px) {
	ul#column_list li .column_list_box {
		padding: 60px 60px 0 60px;
	}
	ul#column_list li:nth-child(even) .column_list_box {
		padding: 60px;
	}
}
@media screen and (max-width: 430px) {
	ul#column_list li .column_list_box {
		padding: 45px 45px 0 45px;
	}
	ul#column_list li:nth-child(even) .column_list_box {
		padding: 45px;
	}
}
@media screen and (max-width: 420px) {
	ul#column_list li .column_list_box {
		padding: 45px 0 0 45px;
	}
	ul#column_list li:nth-child(even) .column_list_box {
		padding: 45px 0 0 45px;
		background: none;
	}
}


/****************************************
 * YouTube
 * archive-youtube.php
 * single-youtube.php
*****************************************/

.youtube {
	background: #0E3B73;
	color: #FFF;
}
.youtube_summary {
	text-align: center;
	margin: 0 0 90px;
}
.youtube_items {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: -30px;
}
.youtube_items .youtube_item {
	width: calc(100%/3 - 45px);
	margin: 60px 0 0;
}
.youtube_movie {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube_movie iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
	.youtube_items .youtube_item {
		width: calc(100%/3 - 12px);
	}
}
@media screen and (max-width: 560px) {
	.youtube_items .youtube_item {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	.youtube_items .youtube_item {
		margin: 30px 0 0;
	}
}

/****************************************
 * ナビゲーション
*****************************************/

nav.navigation {
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	padding: 0;
	margin: 90px 0 0;
}
nav.navigation a {
	text-decoration: none;
	color: #251E1F;
}
nav.navigation > div {
	width: 30%;
}
nav.navigation h2.screen-reader-text {
	display: none;
}
nav.navigation .nav-links {
	width: 100%;
	display: block;
	text-align: right;
}
nav.navigation .nav-links span.current {
	display: inline-block;
	color: #999;
	padding: 0 12px;
	text-align: center;
}
nav.navigation .nav-links a.page-numbers {
	display: inline-block;
	color: #000;
	padding: 0 12px;
	text-align: center;
}
nav.navigation .nav-links a:hover {
	display: inline-block;
}
nav.navigation .nav-links a.page-numbers:hover {
	opacity: .7;
}
nav.navigation .nav-links a.prev,
nav.navigation .nav-links a.next {
	float: none;
	display: inline-block;
}




/****************************************
 * WPネイティブCSS
*****************************************/
.alignleft {
	float: left;
}
.alignright {
	float: right;
}
.wp-block-image {
	
}
.wp-block-image figcaption {
	
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	max-width: 100%;
	height: auto;
}
img.alignright {
	display: block;
	margin: 0 0 0 auto;
}
img.alignleft {
	display: block;
	margin: 0 auto 0 0;
}
img.aligncenter {
	display: block;
	margin: 0 auto;
}
blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
	margin: 50px;
	border-left: 1px solid #ededed;
	padding-left: 30px;
}
cite {
	font-size: .8em;
}
cite a {
	display: inline;
}

/* clearfix */
.clearfix {
	overflow: hidden;
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

@media screen and (max-width: 480px) {
	blockquote {
		margin: 30px;
	}
}

/****************************************
画像キャプション
*****************************************/
.wp-caption {
	text-align: right;
}
.wp-caption-text,
.gallery-caption　{
	font-size: 12px;
	margin: 0;
	color: #333;
}
.wp-caption img {
	margin: 0;
	padding: 0;
	border: 0 none;
	vertical-align: bottom;
}
.wp-caption-dd {
	margin: 0;
	padding: 0 4px 5px;
	font-size: 11px;
	line-height: 17px;
}


/****************************************
 * 404.php
*****************************************/

#error .error_title {
	font-size: 2em;
	margin-bottom: 30px;
}
#error .error_box {
	text-align: center;
	font-size: 1.3em;
}
#error p.error_url span {
	color: #5498ca;
	word-break: break-all;
}
#error a {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	#error .error_title {
		font-size: 1.6em;
	}
}
@media screen and (max-width: 559px) {
	#error .error_title {
		font-size: 1.3em;
	}
	#error .error_box {
		font-size: 1em;
	}
}

/****************************************
 * フッター
*****************************************/

footer {
	clear: both;
	overflow: hidden;
	background: #f1f1f1;
	padding: 90px 0 0;
}
footer a {
	color: #000;
}

/*トップへ戻る*/
footer .totop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9;
}

footer .footer_box {
	display: flex;
	flex-direction: column;
}
footer .footer_information {
	width: 780px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .footer_box .footer_menu {
	margin-top: 45px;
}
footer nav.footer-nav {
	margin-bottom: 10px;
	text-align: center;
}
footer nav.footer-must {
	font-size: .8em;
	text-align: center;
}
footer nav.footer-nav ul#menu-footer-nav,
footer nav.footer-must ul#menu-footer-must {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer nav.footer-nav ul#menu-footer-nav li,
footer nav.footer-must ul#menu-footer-must li {
	display: inline-block;
	margin-right: 30px;
}
footer nav.footer-nav ul#menu-footer-nav li:last-child {
	margin-right: 0;
}
footer .footer_bottom1 {
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	padding: 15px 0;
	position: relative;
}
footer .footer_bottom1 nav.footer-must {
	position: absolute;
	right: 0;
	top: 0;
}
footer .footer_bottom1 nav.footer-must ul#menu-footer-must {
	list-style: none;
}
footer .footer_bottom1 nav.footer-must ul#menu-footer-must li {
	display: inline-block;
	margin-left: 15px;
	font-size: .8em;
}
footer #copyright {
	font-size: .8em;
	text-align: center;
	margin-top: 60px;
	padding: 60px;
}

@media screen and (min-width: 1024px) {
}
@media screen and (max-width: 768px) {
	footer .footer_information {
		width: 100%;
	}
}
@media screen and (max-width: 559px) {
	footer {
		padding: 60px 0 0;
	}
	footer nav.footer-must {
		font-size: 1em;
	}
	footer nav.footer-must ul#menu-footer-must li {
		display: block;
		margin: 12px 0 0;
	}
	
	footer #copyright {
		font-size: 1em;
		margin-top: 30px;
		padding: 30px 0;
	}
}
@media screen and (max-width: 430px) {
	footer .totop img.icon {
		width: 45px;
	}
}


/****************************************
プラグイン
*****************************************/

/* MW WP Form
*****************************************/
.mw_wp_form .error {
	text-align: left !important;
	font-weight: bold !important;
	font-size: .9em !important;
	color: #D15776 !important;
	padding-left: 25px !important;
	line-height: 1.35 !important;
	margin-top: 15px !important;
	position: relative;
}
.mw_wp_form .error:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon140_bang.png) no-repeat;
	background-size: contain;
	background-position: center;
	width: 20px;
	height: 20px;
}
.mwform-checkbox-field input,
.mwform-radio-field input {
	vertical-align: middle;
	margin-right: 5px;
	width: 20px;
	height: 20px;
}

@media screen and (max-width: 559px) {
	.mw_wp_form .vertical-item {
		width: 100% !important;
	}
}
