/*!
Theme Name: 鶴岡青年会議所2026
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: temp_base
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.

temp_base 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/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments



--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */ 
@media print, screen and (min-width:980px){

html {
	font-family: "Noto Sans JP", Sans-serif;
	font-weight: 500;
    font-style: normal;
	font-size: 100%;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Box sizing
--------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #333333;
	font-family:inherit;
	font-size: 100%;
	line-height: 1.7;
	letter-spacing: 0.08em;
}
b,
strong {
	font-weight: bolder;
}
small {
	font-size: 80%;
}
blockquote {
	margin: 0 1.5em 1.6em;
	padding: 15px;
	border: 1px solid #e2e2e2;
	border-radius: 5px;
}
address {
	margin: 0 0 1.5em;
}
/* Elements
--------------------------------------------- */
body {
	background: #fff;
	overflow-x: hidden;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
dt {
	font-weight: 700;
}
dd {
	margin: 0 1.5em 1.5em;
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}
img {
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}
figure {
	margin: 1em 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
/*SP用の要素を非表示*/
.sp_show {
	display: none !important;
}

/* Links
--------------------------------------------- */
a {
	color: #333;
}
a:visited {
	color: #333;
}
a:hover,
a:focus,
a:active {
	color: #d50000;
	text-decoration: none;
}
a:focus {
	outline: none;
}
a:hover,
a:active {
	outline: 0;
}
#page a:hover img,
.site_header a:hover img,
.contents_1col_top a:hover img {
	opacity:0.78;
	-webkit-transition:0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.2em .5em 0.6em;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: inherit;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}
select {
	border: 1px solid #ccc;
}
textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
main.contents_top {
	margin: 60px auto 0;
}

main .contents_page_inner {
	margin: 0 auto 80px;
	padding: 0;
	width: 84%;
	max-width: 1320px;
}
main .contents_page_inner.page_2col {
	display: flex;
	justify-content: space-between;
	
}
main .contents_page_inner.page_2col article {
	width: 72%;
}
main .contents_page_inner.page_2col aside {
	margin-left: 5%;
	width: clamp(250px, 28%, 320px);
}

/*アニメーション*/
.anm_totop {
	opacity: 0;
	visibility: hidden;
	transform: translateY(30px);
	transition: opacity 1s, visibility 1s, transform .5s;
	transition-timing-function: ease-out;
}
.anm_totop-delay {
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: opacity 1s, visibility 1s, transform .6s;
	transition-timing-function: ease-out;
	transition-delay: .3s;
}
.anm_toright {
	opacity: 0;
	visibility: hidden;
	transform: translateX(-30px);
	transition: opacity 1s, visibility 1s, transform .5s;
	transition-timing-function: ease-out;
}
.anm_toright-delay {
	opacity: 0;
	visibility: hidden;
	transform: translateX(-30px);
	transition: opacity 1s, visibility 1s, transform .5s;
	transition-timing-function: ease-out;
	transition-delay: .3s;
}
/*きっかけで付与するクラス*/
.is-inview {
	opacity: 1;
	visibility: visible;
	transform: translate(0);
}


/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* header
--------------------------------------------- */
.header {
    display: flex;
    justify-content: space-between;
	align-items: center;
	background: #fff;
}
.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
.site_title {
    width: 25%;
	max-width: 400px;
    margin: 0 0 0 1%;
}
.header_links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
	width: 73%;
}
.sns_icon {
    margin-right: 1.5%;
    width: clamp(130px,11vw,165px);
}
.sns_icon ul {
    display: flex;
    justify-content: space-between;
}
.sns_icon ul li {
    margin: 0 4%;
    width: 100%;
}
.sns_icon ul li#yt {
    width: 140%;
}

/*パンくずリスト*/
#breadcrumb {
	margin: 10px auto 35px;
	font-size: 75%;
	font-weight: 400;
	width: 92%;
	max-width: 1320px;
}
#breadcrumb_inner {
	margin: 0 auto;
	padding: 0;
	color:#222;
}
#breadcrumb_inner a {
	display: inline-block;
	margin: 0 3px;
	padding: 0;
	color:#222;
	text-decoration: none;
	border-radius: 15px;
}
#breadcrumb_inner a:hover {
	color: #888;
	text-decoration:none;
	transition: all .2s;
}
#breadcrumb_inner .current-item {
	display: inline-block;
	margin: 0 5px;
	padding: 2px;
	color:#222;
	font-weight: 700;
	text-decoration: none;
	border-radius: 15px;
}


/* Navigation
--------------------------------------------- */
.pc_nav {
	background: #FFF;
	transition: all .2s;
}
.pc_nav ul.pc_nav_menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	gap: 1.2em;
	width: 100%;
}

/*リンクのスタイル*/
.pc_nav a,
.pc_nav a:hover,
.pc_nav a:active,
.pc_nav a:visited {
	color: #222;
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 0.08em;
    height: 100%;
}

.pc_nav ul.pc_nav_menu li a {
    height: 100%;
    color: #000;
    text-align: center;
    font-size: clamp(0.75em, 1vw, 0.95em);
    text-decoration: none;
}
.pc_nav ul.pc_nav_menu li:not(:last-child) a:hover,
.pc_nav ul.pc_nav_menu li:not(:last-child) a:active {
	transition: all .2s;
	color: #d50000;
}
.pc_nav ul.pc_nav_menu li.menu-item-26 a {
    display: inline-block;
    color: #fff;
    background: #249bd4;
    padding: 2em 1.5em;
	transition: all .2s;
}
.pc_nav ul.pc_nav_menu li.menu-item-26 a:hover,
.pc_nav ul.pc_nav_menu li.menu-item-26 a:active {
	transition: all .2s;
	background: #d74040;
}


/* TOP　コンテンツ
--------------------------------------------- */
.contents_top h2 {
	margin: 40px 0;
	text-align: center;
}
.contents_top h2 span.title {
	position: relative;
	display: inline-block;
	padding: 7px .5em;
	color: #000;
	font-size: 230%;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.contents_top h2 span.title:after {
  content: "";
	position: absolute;
	bottom: 0;
	left: -5%;
  display: block;
	width: 120%;
  height: 4px;
  background: linear-gradient(to right, #d93239, transparent);
}

.contents_top h2 .subtxt {
	margin-top: 20px;
	color: #008ABF;
	font-size: 96%;
	font-weight: 500;
}

/*一覧ボタン*/
.btn_more {
	margin: 20px 0 ;
	text-align: center;
}
.btn_more a {
	position: relative;
    display: inline-block;
    padding: 20px 0;
    width: 330px;
    color: #fff;
    font-weight: 500;
    background: #c83535;
	border: 2px solid transparent;
    vertical-align: middle;
    text-decoration: none;
    font-size: 1em;
	transition: all .3s ease;
}
.btn_more a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 45px;
	margin: auto;
	vertical-align: middle;
	width: 0.6em;
	height: 0.6em; /* arrow size */
	border-top: 3px solid #fff;  /* thickness, color */
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: all .3s ease;
}

.btn_more a:hover
,.btn_more a:active {
	background: #ee5b5b;
}

.mv {
	overflow: hidden;
	aspect-ratio: 16/9;
}
.mv img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}


/* TOP　お知らせ
--------------------------------------------- */
section.news {
	margin-bottom: 80px;
}
.news_wrapper {
	margin: 0 auto;
	width: 88%;
	max-width: 1400px;
	letter-spacing: 0.05em;
}
.news_inner {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0 auto;
}
.news_inner li {
	position: relative;
	margin-bottom: 1.5%;
	margin-right: 2%;
	width: calc((100% - 4%) / 3);
}
.news_inner li:nth-child(3n) {
	margin-right:0;
}

.news_inner li a.news_box {
	position: relative;
	display: block;
	padding: 5%;
	width: 100%;
	height: 100%;
	text-decoration: none;
	border-radius: 2px;
	transition: all .2s;
}
	.news_inner li a.news_box:before, .news_inner li a.news_box:after { 
  content:'';
  position: absolute;
  display: inline-block;
}
.news_inner li a.news_box:before {
  background: rgba(213, 0, 0,.5);
    width: 24px;
    height: 24px;
    top: -5px;
    right: -5px;
}
.news_inner li a.news_box:after {
  background: rgba(255, 174, 174, 0.9);
    width: 20px;
    height: 20px;
    top: 10px;
    right: 10px;
}

	#page .news_inner li .news_thumb img{
		transition: transform .3s ease;
	}
#page .news_inner li a.news_box:hover .news_thumb img {
	transform: scale(1.2, 1.2);
}#page .nopost {
	margin: 50px 0 90px;
	width: 110%;
	color: #222;
	font-size: 1.5em;
	text-align: center;
}

/*サムネイル画像、NEWマーク、カテゴリー*/
.news_thumb {
	position: relative;	
	overflow: hidden;
	aspect-ratio: 4/3;
}
.news_thumb img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.news_thumb img.mark_new {
	position: absolute;
    bottom: 0;
    right: 0;
    width: 80px;
    height: auto;
    z-index: 1;
}

.news_title {
	padding: 13px 0 0;
	font-size: clamp(87%,1.3vw,100%);
}
/*日付*/
.news_title .date {
	position: relative;
	display: inline-block;
	padding-left: 12px;
	color: #222;
	font-size: 80%;
	font-weight: 400;
	line-height: 1em;
	letter-spacing: 0.1em;
	width: calc(50% - 6px);
}
.news_title .date:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0px;
	display: inline-block;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background:#949494; 
	width: 6px;
    height: 85%;
}

/*カテゴリー*/
.news_title .catname {
	display: inline-block;
	padding: 0 ;
	color: #222;
	font-size: 85%;
	font-weight: 400;
	text-align: right;
	width: 50%;
}

/*投稿タイトル*/
.news_title .title {
	padding: 10px 0 0;
	line-height: 1.5em;
}

/*一覧ボタン*/
.btn_more.news a {
	
}

/* TOP　入会案内
--------------------------------------------- */
.admission_inner {
	display: flex;
	flex-wrap: nowrap;
	margin: 0 auto;
	padding: 10px 0;
	width: 100%;
	background: rgba(255, 185, 185, 0.18);
}

/*入会案内テキスト*/
.admission_inner .txt_box {
	margin: 1% 9% 0 3%;
    max-width: 35%;
	font-size: clamp(82%,1.2vw,100%);
	text-align: center;
}
.admission_inner .txt_box p {
	display: inline-block;
	text-align: left;
	letter-spacing: 0.05em;
}
.admission_inner .txt_box p.txt_l {
	font-size: 140%;
	font-weight: 600;
}
.admission_inner .txt_box p.txt_ll {
	margin: 15px 0 25px;
	color: #d50000;
	font-size: 240%;
	font-weight: 600;
}
.admission_inner .txt_box p.txt_m {
	margin-bottom: 1.5em;
	font-size: 110%;
}
	body.slug-admission .vk_borderBox .vk_borderBox_body {
		border: none;
}
	body.slug-admission h2 sub{
		color: #249bd4;
	}
/*入会案内写真*/
.admission_inner .pic_box {
	overflow: hidden;
	max-width: 55%;
}
.admission_inner .pic_box img {
	width: 100%;
    height: 100%;
    object-fit: contain;
}


/* TOP　SNSエリア
--------------------------------------------- */
.SNSarea {

	margin: 100px auto 0;
	width: 88%;
	max-width: 1250px;
}
.SNSarea .SNS_innerbox {
	display: flex;
	justify-content: space-between;
	padding-top: 40px;
}
.SNSarea .SNS_wrapper {
	width: 46%;
	border: 3px solid #C2C2C2;
}
.SNSarea h3 {

}
.SNSarea h3 {
	position: relative;
	top: -35px;
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 0 auto;
	background: #fff;
	width: 140px;
	height: 140px; 
}
.SNSarea h3 img {
	width: 80px;
	height: 80px;
}

.SNSarea .SNS_wrapper .innerbox {
	padding: 20px 6%;
	margin-top: -80px;
}

/* TOP　バナーエリア
--------------------------------------------- */
.bannerbox {
	margin: 30px 0 0;
	padding: 70px 0;
	background: #fff;
}
.bannerbox ul {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: 88%;
	max-width: 1400px;
}
.bannerbox ul li {
	width: 12%;
	height: auto;
}
.bannerbox ul li img {
	width: 100%;
}


/* Posts and pages
--------------------------------------------- */
.entry-content p {
	margin-bottom: 1.6em;
}
.entry-content ul,
.entry-content ol {
	margin: 0 0 1.5em 3em;
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content li > ul,
.entry-content li > ol {
	margin-bottom: 0;
	margin-left: 1.2em;
}
.entry-content .entry_meta {
	margin: 0 10px 20px;
	text-align: right;
	font-size: 90%;
}

/*.sticky {
	display: block;
}*/


.updated:not(.published) {
	display: none;
}

/* Posts and pages（見出し）
--------------------------------------------- */
/* H1 */
h1.entry-title,
h1.category_name {
	position: relative;
	padding: 47px;
	color: #fff;
	font-size: 230%;
	font-weight: 700;
	text-align: center;
	background: url("images/pages/page_h1_enji.png")no-repeat;
	background-position: center;
	background-size: cover;
	letter-spacing: 0.08em;
}
.single h1.entry-title {
	font-size: 200%;
}
/* H2 */
.entry-content h2 {
	margin: 70px 0 40px;
	text-align: center;
}
.entry-content h2 span {
	position: relative;
	display: inline-block;
	padding: 0 .8em 25px;
	font-size: 205%;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2em;
}
.entry-content h2 span:before {
  content: "";
    position: absolute;
    bottom: 0;
    left: -5%;
    display: block;
    width: 120%;
    height: 4px;
    background: linear-gradient(to right, #d93239, transparent);
}


/* H3 */
.entry-content h3 {
	position: relative;
	margin: 60px 0 25px;
	padding-left: 1em;
    font-size: 170%;
    font-weight: 600;
    line-height: 1em;
}
/*「委員会」のみ見出し余白を小さめに*/
.page-id-13 .entry-content h3 {
	
	margin-top: 30px;
	display: inline-block;
    
}
body.slug-policy .entry-content h3::before,
body.slug-committee .entry-content h3::before
	{
	content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 6px;
    left: -6px;
    right: 10px;
    border: 4px solid rgba(198, 65, 65, 0.95);
    z-index: 1;
  }
	body.slug-policy .entry-content h3::after,
	body.slug-committee .entry-content h3::after
	{
		 content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    left: 0;
    bottom: 0px;
    border: 3px solid rgb(151, 129, 129);
  }
/* Posts and pages（新着アーカイブ）
--------------------------------------------- */
.page-template-page-newslist .news_wrapper,
.category .news_wrapper {
	margin: 50px auto;
	width: 100%;
}

/* Posts and pages（ページナビ）
--------------------------------------------- */
#page .wp-pagenavi {
	margin: 0;
	text-align: center;
	font-size: 90%;
}
#page .wp-pagenavi span,
#page .wp-pagenavi a {
	display: inline-block;
	padding: 3px 9px 4px;
	color: #222;
/*	border-radius: 4px;*/
	border: 1px solid #203986;
}
#page .wp-pagenavi a 
,#page .wp-pagenavi a:visited {
	color: #222;
}
#page .wp-pagenavi a:hover
,#page .wp-pagenavi a:active {
	background: #C4DBEC;
	text-decoration: none;
	color: #222;
	border: 1px solid #203986;
}

#page .wp-pagenavi span.pages {
	display: block;
	width: 100%;
	text-align: center;
	border: none;
}
#page .wp-pagenavi span.current {
	padding: 3px 10px 4px;
	color: #fff;
	background: #bf3030;
    border: 1px solid #862020;
}

#page .wp-pagenavi span.extend {
	border: none;
}

/* Posts and pages（委員会）
--------------------------------------------- */
.entry-content ul.internal_link {
	display: flex;
	flex-wrap: wrap;
	margin: 5vw 0;
	list-style: none;
	gap: 10px;
}
.entry-content ul.internal_link li {
	width: calc((100% - 20px) / 3);
}
.entry-content ul.internal_link li a {
	display: block;
	padding: 13px 0;
	color: #015baa;
	font-size: clamp(90%,1vw,110%);
	border-radius: 5px;
	background: #D7F7FF;
	text-decoration: none;
	text-align: center;
	transition: all .1s;
}
.entry-content ul.internal_link li a:hover,
.entry-content ul.internal_link li a:active {
	color: #aa0101;
	background: #FFD7D7; 
}

/* Posts and pages（概要）
--------------------------------------------- */
.gaiyo table {
	margin: 0 auto;
	width: 92%;
	max-width: 1000px;
	border: solid 1px #D2D2D2;
}
.gaiyo table tbody tr td {
	padding: 1em 10px 1em 20px;
	border: none;
}
.gaiyo table tbody tr td:nth-child(1) {
	width: 26%;
	vertical-align: top;
	background: #e0f5ff;
	border-bottom: dotted 1px #A5A5A5;
}
.gaiyo table tbody tr td:nth-child(2) {
	padding-left: 20px;
	border-bottom: dotted 1px #A5A5A5;
}
.entry-content .history figure {
	box-shadow: 0 0 10px rgba(0,0,0,0.17);
}
.entry-content .history p {
	margin: 0 auto 1em;
	padding: 2px 0 4px;
	width: 50%;
	min-width: 7em;
	font-size: 85%;
	line-height: 1em;
	color: #32B6D1;
	transition: color .3s ease;
}
	body.slug-about .is-layout-flex{
		gap: 1em;
  margin-bottom: 1em;
	}
	body.slug-about .wp-block-column{
		padding: 0 1em;
    box-shadow: 2px 1px 2px rgba(0,0,0,.1);
		opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
	}
body.slug-admission .wp-block-column{
	opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
	body.slug-about .wp-block-column.is-show,
body.slug-admission .wp-block-column.is-show
{
  opacity: 1;
  transform: translateY(0);
}
	body.slug-about .wp-block-column:empty{
		visibility: hidden;
	}
	body.slug-about .wp-block-column:hover p{
		color: #d50000;
	}
/* Posts and pages（入会案内）
--------------------------------------------- */
.miryoku {
	margin: 0 auto;
	max-width: 1000px;
	font-size: 115%;
}
.miryoku h3.vk_borderBox_title {
	font-size: 120% !important;
    font-weight: 600 !important;
}

.miryoku figure {
	margin-bottom: 0;
	aspect-ratio: 4/3;	
}
.miryoku figure img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.bosyuyoko table tbody tr td {
	padding: 1em 10px 1em 20px;
	border: none;
}
.bosyuyoko table tbody tr td:nth-child(1) {
	width: 26%;
	border-bottom: solid 1px #FFF;
	background: #218bb5;
	color: #fff;
	font-weight: 500;
}
.bosyuyoko table tbody tr td:nth-child(2) {
	padding-left: 20px;
	border-bottom: solid 1px #222;
}


/* Posts and pages（お問い合わせ）
--------------------------------------------- */
.inquiry_list {
	margin-top: 40px;
}
.inquiry_list dt.inquiry_title {
	display: inline-block;
	width: 13em;
	vertical-align: top;
}
.inquiry_list dd {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: calc(100% - 14em);
}

.inquiry_list .must-txt {
	position: relative;
	top: -1px;
	left: 3px;
	padding: 0px 4px 1px;
	color: #fff;
	font-size: 60%;
	font-weight: 500;
	background: #db3b3b;
	border-radius: 2px;
	cursor: default;
	user-select: none;
}
.wpcf7-not-valid-tip {
	font-size: 80%;
}

.wpcf7-spinner {
	/*display: none;*/
}


.recaptcha {
	margin: 50px 0 0;
	color: #777;
	font-size: 65%;
	line-height: 1.5em;
}
#agreement {
	margin-top: 30px;
}
#agreement p {
	text-align: center;
}
input[type="submit"].wpcf7-form-control,
input[type="button"].wpcf7-form-control {
	padding: 30px 110px;
	border: solid 1px #999999;
	font-size: 100%;
	font-weight: 600;
	letter-spacing: 0.25em;
	cursor: pointer;
}
input[type="button"].wpcf7-form-control {
	padding: 30px 60px;
	background: #f5f5f5;
}
input[type="submit"].wpcf7-form-control:hover,
input[type="button"].wpcf7-form-control:hover {
	background: #aaa;
	transition: all .2s;
}
input[type="submit"].wpcf7-form-control:active,
input[type="submit"].wpcf7-form-control:focus,
input[type="button"].wpcf7-form-control:active,
input[type="button"].wpcf7-form-control:focus {
	background: #ccc;
	border: solid 1px #999;
	transition: all .2s;
}
.con_name,
.con_tel,
.con_address {
	width: 90%;
	max-width: 25em;
}
.con_inquiry {
	width: 100%;
	height: 12em;
}


/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* sidebar
--------------------------------------------- */
/* ▼side（これまでのお知らせ） */
aside .past_entry  {
	background: #fff;
	/*border: 1px solid #ccc;*/
}
.past_entry h2 {
	margin-bottom: 20px;
	padding: 8px 0px;
	font-size: 115%;
	font-weight: 500;
	border-bottom: 2px solid #222;
}
.past_entry h2 span{
	white-space: nowrap;
}
.past_entry ul.past_entry_list {
	/*margin: 4%;*/
}
.past_entry ul li {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-bottom: 13px;
	padding:0 5px 13px 8px;
	border-bottom: 1px dotted #777;
}
.past_entry ul li:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	background: rgba(213, 0, 0, 0.2);
	width: 23px;
	height: 23px;
}

.past_entry ul li time {
	order: 1;
	position: relative;
	font-size: 85%;
	font-weight: 500;
	z-index: 1;
}
.past_entry ul li a {
	order: 2;
	font-size: 90%;
	color: #222;
}
.past_entry .more {
	margin: 25px 0;
	text-align: right;
}
.past_entry .more a {
	display: inline-block;
	padding: 3px 2em;
	font-size: 80%;
	color: #888;
	border: 1px solid #888;
	text-decoration: none;
	transition: all .2s;
}
.past_entry .more a:hover,
.past_entry .more a:active {
	color: #222;
	border: 1px solid #222;
	transition: all .2s;
}


/* Widgets
--------------------------------------------- */
/* ▼side（これまでのお知らせ） */
.recent_entry_list section {
	padding: 15px;
	background: #fff6e9;
	border-radius: 10px;
	border: 1px solid #efe4d3;
}
.recent_entry_list a,
.recent_entry_list a:visited {
	color: #222;
	text-decoration: none;
}
.recent_entry_list a:hover,
.recent_entry_list a:active {
	color: #f99ea1;
	transition: all .2s;
}

.recent_entry_list h2 {
	margin: 13px 0 25px;
	/*font-size: 110%;*/
	font-weight: 500;
	text-align: center;
}
.recent_entry_list ul li {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-bottom: 13px;
	padding: 0 0 13px 15px;
	border-bottom: 1px dotted #555;
}
.recent_entry_list ul li:before {
	content: "●";
	position: absolute;
	top: .7em;
	left: 0;
	color: #ffbbbd;
	font-size: 100%;
	
}
.recent_entry_list ul li time {
	order: 1;
	margin-bottom: 5px;
	font-size: 78%;
	font-weight: 500;
}
.recent_entry_list ul li a {
	order: 2;
	font-size: 90%;
}

/* ▲side（これまでのお知らせ） */

.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}



/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* 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;
}


/* footer
--------------------------------------------- */
#site_footer {
	position: relative;
	background: #fff;
}
.footer_innerwrap {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 15px 0 0;
	width: 92%;
	max-width: 1400px;
}
.footer_about {
	width: 40%;
	padding-right: 3vw;
}
.footer_about p.footer_title {
	padding: 0 0 10px;
	max-width: 320px;
}
.footer_about p.footer_info {
	margin-top: 6px;
	font-size: 90%;
	line-height: 1.4em;
}
.footer_about p.footer_info a.txtlink {
	display: inline-block;
}

.footer_menu {
	width: 70%;
}
.footer_menu ul.nav {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	column-gap: 2em;
	margin: 0 0 0 auto;
	padding: 0;
	width: 100%;
}
.footer_menu ul.nav li.menu-item-49 {
	width: 100%;
	text-align: right;
}
.footer_menu ul.nav li.menu-item-49 a {
	display: inline-block;
	margin: 15px 0;
	color: #fff;
	background: #249bd4;
	padding: 10px 4em;
	transition: all .2s;
}
.footer_menu ul.nav li.menu-item-49 a:hover,
.footer_menu ul.nav li.menu-item-49 a:active {
	transition: all .2s;
	background: #d74040;
	text-decoration: none;
}
.footer_menu .sns_icon {
	margin: 0 0 0 auto;
	width: clamp(130px,11vw,165px);
}

/*.footer_menu ul.nav > li {
	flex: 1;
}
.footer_menu ul.nav > li > a {
	font-weight: 600;
}*/
/*.footer_menu ul.nav > li ul.sub-menu {
	margin-top: 5px;
	padding-left: 15px;
	z-index: 10;
}
.footer_menu ul.nav > li ul.sub-menu li {
	position: relative;
	line-height: 1.2em;
	margin-bottom: 8px;
}
.footer_menu ul.nav > li ul.sub-menu li:before {
	content: "";
	position: absolute;
	left: -17px;
    top: 0.4em;
	display: inline-block;
	background: url("images/footers/footer_list.png")no-repeat;
	background-size: contain;
	width: 12px;
	height: 12px;
}*/

/*フッターの共通スタイル*/
.footer_innerwrap a,
.footer_innerwrap a:visited {
	color: #222;
	text-decoration: none;
	font-size: 92%;
}
.footer_innerwrap a:hover,
.footer_innerwrap a:active {
	text-decoration: underline dotted #555;
}

/*コピーライト*/
#copyright {
	margin-top: 20px;
	padding: 3px 0;
	color: #fff;
	font-weight: 700;
	font-size: 65%;
	text-align: center;
	background: #b01d23;
	letter-spacing: 0.15em;
}
#copyright a,
#copyright a:visited {
	color: #fff;
	text-decoration: none;
}
#copyright a:hover,
#copyright a:active {
	text-decoration: underline;
}


/*--------------------------------------------------------------
# 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: 100%;
	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;
}
.alignleft:after {
   content: "";
   display: block;
   clear: both;
}

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

/*PDFアイコン*/
a[href $='.pdf'] {
    background:url(icon/ico_pdf.gif) no-repeat right 70%;
    padding:0 18px 0 0;
}
a[href $='.pdf'] a {
    text-decoration:none;
}

a[href $='.pdf'] a:hover {
    text-decoration:none;
}


/*-------------------------------------------------------
----お問い合わせ-----------------------------------------
-------------------------------------------------------*/
.contact_form table tbody tr td:nth-child(1) {
    padding-top: 13px;
    width:25%;
    vertical-align: top;
}
.contact_form table tbody tr td:nth-child(2) {
    width:75%;
    vertical-align: top;
}
.contact_form table tbody tr td p {
    margin: 3px;
}
.contact_form table tbody tr td p input {
    padding:5px 10px;
}
.con_name {
	margin:3px;
	padding:3px;
    width:320px;
	border:solid 1px #b3b3b3;
}
.con_mail {
	margin:3px;
	padding:3px;
    width:500px;
	border:solid 1px #b3b3b3;
}
.con_subject {
	margin:3px;
	padding:3px;
    width:100%;
	border:solid 1px #b3b3b3;
}
.con_msg {
	margin:3px;
	padding: 6px 10px;
    width: 100%;
    height: 250px;
}
.con_cap {
	margin:3px;
	padding:3px;
	width:105px;
}
.contact_form table tbody tr td p span.must {
    position: relative;top:-2px;left:3px;
    padding: 0 3px;
    display: inline;
    font-size: 0.65em;
    border-radius:3px;
    color: #fff;
    background-color: #cf1d05;
}
.wpcf7-confirm, .wpcf7-submit, .wpcf7-back {
	padding: 10px 5px;
	width: 160px;
    font-size: 120%;
	letter-spacing: 3px;
}
.contact_form p input.wpcf7-submit {
    display: block;
    margin:0 auto;
	padding:16px 0;
	width:200px;
	letter-spacing:3px;
}
.wpcf7 span.wpcf7-not-valid-tip {
    display: block;
    position:relative;
    top: 0;
    left: 5px;
    border: none;
    color: red;
}



}