/*!
Theme Name: 酒田第二幼稚園 2025年リニューアル
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 Automatintroductiontic, 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:769px) { 

html {
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 400;
	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;
	overflow-x: hidden;
}
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: #E7F9EA;*/
	background: #F5FFF7;
	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: #0066c0;
}
a:visited {
	color: #649ACB;
}
a:hover,
a:focus,
a:active {
	color: #014786;
	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
--------------------------------------------------------------*/
#page {
	position: relative;
}
#page:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	background: url("images/headers/leaf_lefttop.png")no-repeat;
	background-size: contain;
	background-position: top left;
	width: 17%;
	max-width: 261px;
	height: 255px;
}
#page:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	background: url("images/headers/leaf_righttop.png")no-repeat;
	background-size: contain;
	background-position: top right;
	width: 17%;
	max-width: 261px;
	height: 255px;
}
main.contents_top {
	margin: 0 auto;
	width: 92%;
	max-width: 1050px;
}

main .contents_page_inner {
	margin: 0 auto;
	padding: 0 0 70px;
	width: 88%;
	max-width: 1050px;
}
main .contents_page_inner.page_2col {
	display: flex;
	justify-content: space-between;
	width: 96%;
}
main .contents_page_inner.page_2col article {
	width: 70%;
}
main .contents_page_inner.page_2col aside {
	margin-left: 3%;
	width: 25%;
}

/*要素をコンテナから開放*/
.breaking-out {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}
/*子要素を内側にプレス*/
.press-inside {
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);
}

/* アニメーション
--------------------------------------------- */
/*アニメーション*/
.toTop {
	opacity: 0;
	visibility: hidden;
	transform: translateY(30px);
	transition: opacity 1s, visibility 1s, transform .5s;
	transition-timing-function: ease-out;
}

/*きっかけで付与するクラス*/
.is-inview {
	opacity: 1;
	visibility: visible;
	transform: translate(0);
}




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

/* header
--------------------------------------------- */
.header {
}
.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	margin: 0 auto;
	padding: 12px 15px 0;
	width: 98%;
	max-width: 1075px;
	background: rgba(245,255,247,0.5);
	backdrop-filter: blur(1.5px);
	position: relative;
	z-index: 100;
}
.site_title {
	width: 48%;
	/*margin-top: 8px;*/
}
.header_links {
	width: 63%;
}

/*.header_links {
	padding-bottom: 15px;
}*/
.header_links ul {
	display: flex;
	justify-content: flex-end;
}
.header_links .contact_wrap {
	padding-bottom: 15px;
}
.header_links .contact_wrap li.access {
	margin-left: 18px;
}
.header_links .contact_wrap li.access a {
	display: inline-block;
	padding-left: 23px;
	color: #5E4141;
	font-size: 95%;
	font-weight: 700;
	text-decoration: none;
	background: url("images/headers/header_access.svg")no-repeat;
	background-position: left center;
	background-size: contain;
	transition: all .1s;
}
.header_links .contact_wrap li.access a:hover,
.header_links .contact_wrap li.access a:active {
	opacity: 0.6;
	transition: all .1s;
}

.header_links .btn_wrap li {
	margin-left: 15px;
}
.header_links .btn_wrap li img {
	height: 44px;
	width: auto;
}

/*パンくずリスト*/
#breadcrumb {
	margin: 0 0 50px;
	padding: 15px 0 0;
	font-size: 80%;
	text-align: left;
}
#breadcrumb_inner {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1050px;
	color:#555;
}
#breadcrumb_inner a {
	display: inline-block;
	margin: 0px;
	padding: 0;
	color:#555;
	text-decoration: none;
}
#breadcrumb_inner a:hover {
	color: #51933c;
	text-decoration:underline;
}
#breadcrumb_inner .current-item {
	display: inline-block;
	margin: 0;
	padding: 0;
	color:#555;
	font-weight: 700;
}


/* Navigation
--------------------------------------------- */
.pc_nav {
	/*margin: 10px 0;*/
}
.pc_nav ul.pc_nav_menu {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin: 0 auto;
	padding: 23px 15px 10px;
	width: 98%;
	max-width: 1075px;
	background: rgba(245,255,247,0.5);
    backdrop-filter: blur(1.5px);
    position: relative;
    z-index: 100;
}
.pc_nav ul.pc_nav_menu li a {
	position: relative;
	display: inline-block;
	padding: 3px 0 3px 1.6em;
	font-size: clamp(88%,1.5vw,100%);
}
.pc_nav ul.pc_nav_menu li a:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	background: url("images/headers/navi_list.svg")no-repeat;
	background-size: contain;
	width: 100%;
    height: 1.2em;
	
}
/*リンクのスタイル*/
.pc_nav a,
.pc_nav a:visited {
	color: #5E4141;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.08em;
	transition: all .1s;
}
.pc_nav a:hover,
.pc_nav a:active {
	color: #f57902;
	transition: all .1s;
}

/* TOP　コンテンツ
--------------------------------------------- */
h2.h2_top {
	margin: 30px 0;
	text-align: center;
}

.mv {
	position: relative;
	width: 100%;
	height: auto;
	background: url("images/mv/mv02.webp")no-repeat;
	background-position: center;
	background-size: cover;
}
.slider {
    opacity: 0;
    transition: 2s;
}
.slick-initialized {
    opacity: 1;
}
.mv .mv_txt {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
    top: 20%;
    right: 25%;
	width: 316px;
	height: 322px;
}


/* TOP　コンセプト
--------------------------------------------- */
section.concept {
	padding-top: 50px;
	padding-bottom: 50px;
}
section.concept .txt_wrap {
	margin: 0 auto 20px;
	padding-left: 140px;
	width: 100%;
	max-width: 930px;
	background: url("images/pages/sakayo_mark.svg")no-repeat;
	background-position: left center;
	background-size: auto;
}
section.concept .txt_wrap h2 {
	padding: 8px 0;
}
section.concept .txt_wrap p {
	padding: 13px 10px 0 0;
}

/* TOP　お知らせ
--------------------------------------------- */
section.news {
	padding-top: 30px;
	padding-bottom: 40px;
	background: #fff url("images/pages/osirase_bg.png")repeat;
}
/*アイキャッチ有りの場合*/
ul.news_wrapper {
	display: flex;
	flex-wrap: wrap;
	margin: 40px 0 0;
}
li.news_box {
	margin-bottom: 3.5%;
	margin-right: 2%;
	width: calc((100% - 4%) / 3);	
}
li.news_box:nth-child(3n) {
	margin-right: 0;
}
li.news_box > a {
	display: block;
}
/*アイキャッチ画像*/
li.news_box .news_thumb {
	overflow: hidden;
	aspect-ratio: 4/3;
	margin-bottom: 15px;
}
li.news_box .news_thumb img {
	width: 100%;
    height: 100%;
    object-fit: cover;
	border: 1px solid #e5e4e4;
    border-radius: 5px;
}
/*投稿タイトル*/
li.news_box p.title {
	padding-bottom: 8px;
	color: #5E4141;
	font-size: 105%;
	line-height: 1.4;
}
/*投稿日*/
li.news_box .date {
	display: inline-block;
	margin-right: 10px;
	color: #555555;
	font-size: 83%;
	vertical-align: bottom;

}
/*投稿カテゴリー*/
li.news_box .catname {
	display: inline-block;
	padding: 0 1em;
	color: #fff;
	font-size: 70%;
	border-radius: 30px;
	background: #8F6B6B;
}

/*リンク色*/
ul.news_wrapper li.news_box a,
ul.news_wrapper li.news_box a:visited {
	text-decoration: none;
	transition: all .1s;
	padding: 3%;
}
ul.news_wrapper li.news_box a:hover,
ul.news_wrapper li.news_box a:active {
	color: #cb324c;
	background: rgb(216, 240, 232);
	border-radius: 8px;
	transition: all .1s;
}
#page ul.news_wrapper li.news_box a:hover img,
#page ul.news_wrapper li.news_box a:active img {
	opacity: 1;
}
img.mark_new {
	position: relative;
	top: -.2em;
    right: 0px;
}

/*過去一覧*/
.news_more {
	text-align: center;
}

/* TOP　紹介
--------------------------------------------- */
section.introduction {
	padding-top: 30px;
	padding-bottom: 40px;
}
section.introduction .firsttxt {
	margin: 0 auto;
	text-align: center;
}
section.introduction .firsttxt p {
	display: inline-block;
	text-align: left;
}

section.introduction ul {
	display: flex;
	flex-wrap: wrap;
	margin-top: 50px;
}
section.introduction ul li {
	margin-bottom: 4%;
	margin-right: 4%;
	width: calc((100% - 8%) / 3);	
}
section.introduction ul li:nth-child(3n) {
	margin-right: 0;
}
section.introduction ul li a {
	display: block;
	/*padding: 2.5%;*/
	color: #5E4141;
	text-decoration: none;
}
section.introduction ul li a:hover,
section.introduction ul li a:active {
	
}
section.introduction ul li p.img_wrap {
	text-align: center;
}
section.introduction ul li p.txt_wrap {
	padding: 7px 10px;
	line-height: 1.5;
	font-size: 95%;
	border-radius: 10px;
}
section.introduction ul li a {
	transition:0.2s;
}
section.introduction ul li a:hover,
section.introduction ul li a:active {
	transform: translateY(-13px);
	transition:0.2s ease-in-out;
}
section.introduction ul li a:hover p.txt_wrap,
section.introduction ul li a:active p.txt_wrap {
	transition:0.2s ease-in-out;
	background: rgba(247,215,104,0.50);
}
#page section.introduction ul li a:hover img,
#page section.introduction ul li a:active img {
	opacity: 1;
}

/* Posts and pages
--------------------------------------------- */
.entry-content p {
	margin-bottom: 40px;
}
.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 0 30px;
	text-align: left;
	font-size: 90%;
}
.entry-content .entry_meta date {
	font-size: 90%;
}
.entry-content .entry_meta .cat_name {
	display: inline-block;
	margin-left: .5em;
	padding: 0 .5em;
	color: #888;
	font-size: 90%;
	border: 1px solid #999;
}

.sticky {
	display: block;
}

/*.post,
.page {
	margin: 0 0 1.5em;
}*/

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

/*.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}*/

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


/* Posts and pages（見出し）
--------------------------------------------- */
/* H1 */
h1.entry-title,
h1.category_name {
	position: relative;
	padding: 1.6em;
	color: #573a1d;
	font-size: 210%;
	font-weight: 700;
	text-align: center;
	background: rgba(143, 134, 107, 0.28) url("images/pages/osirase_bg.png")repeat;
	letter-spacing: 0.08em;
}
.single h1.entry-title {
	position: relative;
	padding: 1.6em;
	color: #573a1d;
	font-size: 180%;
	font-weight: 700;
	text-align: center;
	background: rgba(143, 134, 107, 0.28) url("images/pages/osirase_bg.png")repeat;
	letter-spacing: 0.08em;
}
/* H2 */
.entry-content h2 {
	margin: 60px 0 20px;
	padding: 7px .5em;
	color: #289928;
	font-size: 130%;
	font-weight: 700;
	border-top: 1px solid #289928;
	border-bottom: 1px solid #289928;
}
/* H3 */
.entry-content h3 {
	display: inline-block;
	margin: 20px 0 10px;
    padding: 0px .3em;
    font-size: 118%;
    font-weight: 700;
	border-bottom: 1px dashed;
}
.entry-content h3:before {
	content: "●";
	color: #289928;
	position: relative;
	left: -4px;
}

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

.wp-pagenavi span.pages {
	display: block;
	text-align: center;
	border: none;
}
.wp-pagenavi span.current {
	color: #fff;
	background: #ff9191;
	border: 1px solid #ff9191;
}

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

/* Posts and pages（検索結果ぺージ）
--------------------------------------------- */
ul.search_result {
	list-style: disc;
	padding-left: 30px;
}
ul.search_result li {
	margin-bottom: 0.6em;
}


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

.bypostauthor {
	display: block;
}

/* sidebar
--------------------------------------------- */
/* ▼side（これまでのお知らせ） */
aside.past_entry  {
	font-size: clamp(90%,1.5vw,100%);
}
.past_entry h2 {
	padding: 15px 5px;
	color: #fff;
	font-weight: 500;
	text-align: center;
	background: #59412A;
	border-radius: 13px;
}
.past_entry ul.past_entry_list {
	margin: 25px 3% 0;
}
.past_entry ul li {
	margin-bottom: 10px;
	padding:0 0px 8px 0px;
	border-bottom: 1px dotted #777;
}
.past_entry ul li time {
	display: block;
	font-size: 80%;
	font-weight: 500;
}
.past_entry ul li a {
	font-size: 95%;
	color: #5E4141;
	line-height: 1.5;
}
.past_entry .more {
	margin: 15px 10px;
	text-align: right;
}
.past_entry .more a {
	color: #5e4141;
	font-size: 90%;
}


/* 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;
	padding-top: 30px;
	/*background: #E7F9EA;*/
	background: #F5FFF7;
}
#site_footer:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	display: inline-block;
	background: url("images/footers/leaf_leftbottom.png")no-repeat;
	background-size: contain;
	background-position: bottom left;
	width: 17%;
	max-width: 261px;
	height: 255px;
}
#site_footer:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
	display: inline-block;
	background: url("images/footers/leaf_rightbottom.png")no-repeat;
	background-size: contain;
	background-position: bottom right;
	width: 17%;
	max-width: 261px;
	height: 255px;
}

.footer_innerwrap {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0;
	width: 85%;
	max-width: 1050px;
	position: relative;
	z-index: 100;
}
.footer_about {
	width: 35%;
	font-size: clamp(90%,1.2vw,100%);
}
.footer_about p.footer_title {
	padding: 0 0 10px;
	font-size: 126%;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.5;
}
.footer_about p.footer_info {
	margin-top: 5px;
	font-size: 88%;
	line-height: 1.4em;
}
.footer_about p.footer_info a.txtlink {
	display: inline-block;
}

.footer_menu {
	width: 65%;
	max-width: 38em;
}
.footer_menu ul.nav {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	column-gap: 1.5em;
	row-gap: .3em;
	width: 100%;
}
.footer_menu ul.nav li a {
	position: relative;
	display: inline-block;
	padding-left: 19px;
	font-weight: 600;
}
.footer_menu ul.nav li a:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	background: url("images/footers/footer_list.svg")no-repeat;
	background-position: center;
	width: 16px;
	height: 100%;
}

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

/*コピーライト*/
#copyright {
	padding: 20px 0 12px;
	font-size: 65%;
	text-align: center;
	letter-spacing: 0.25em;
}
#copyright a,
#copyright a:visited {
	color: #222;
	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),
.contact_form_confirm 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_confirm table tbody tr td:nth-child(2) {
    padding-top: 12px;
    width:75%;
    vertical-align: top;
}
.contact_form table tbody tr td p,
.contact_form_confirm table tbody tr td p {
    margin: 3px;
}
.contact_form table tbody tr td p input {
    padding:5px 10px;
}
#form_naiyou {
    position: relative;top:-8px;
}
.contact_form_confirm #form_naiyou {
    position: relative;top:-1px;
}

.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_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;
}
.inquiry_list {
	margin-bottom: 15px;
	overflow: hidden;
}
    
.inquiry_list dl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:20px 0;
	width:100%;
	overflow: hidden;
}
.inquiry_list dt {
	padding:10px 20px 5px 0;
	width: 25%;
}
.inquiry_list dd {
    margin: 4px 0 0 0;
	padding:5px 0;
	width: 72%;
}
.inquiry_list dl dt p,
.inquiry_list dl dd p {
    margin:0;
}
.inquiry_list dl dt p span.must {
    position: relative;top:-1px;left:3px;
    padding: 0 3px;
    display: inline;
    font-size: 0.65em;
    border-radius:3px;
    color: #fff;
    background-color: #cf1d05;
}
.inquiry_list input, .inquiry_list textarea, .inquiry_list select {
	padding: 5px 8px;
	border-radius: 3px;
	border: solid 1px #999999;
}

.inquiry_list span.must {
	color:#FF0004;
}
/*姓名*/
.con_sei {
	margin:3px;
	padding:3px;
	width: 160px;
}
/*性別*/
.con_seibetsu {
	margin:3px;
	padding:3px;
	width: 116px;
}
/*メールアドレス*/
.con_address {
	margin:3px;
	padding:3px;
	width: 390px;
}
/*住所*/
.con_jusyo1 {
	margin:3px;
	padding:3px;
	width: 360px;
}
.con_jusyo2 {
	margin:3px;
	padding:3px;
	width: 160px;
}
.con_jusyo3 {
	margin:3px;
	padding:3px;
	width: 360px;
}
/*TEL*/
.con_tel {
	margin:3px;
	padding:3px;
	width: 160px;
	ime-mode: disabled;
}
/*生年月日*/
.con_nen {
	margin:3px;
	padding:3px;
	width:116px;
	ime-mode: disabled;
}
.con_tuki {
	margin:3px;
	padding:3px;
	width:116px;
}
/*お問い合わせ内容*/
.con_inquiry {
	margin:3px;
	padding:3px;
	width: 600px;
}
/*郵便番号*/
.con_yubin1 {
	margin:3px 0 15px 0;
	padding:3px;
	width: 110px;
	ime-mode: disabled;
}

#agreement {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    gap:15px;
}



.entry_box {
	margin: 25px 0;
	display: flex;
    justify-content: center;
}
.wpcf7-radio {
	position: relative;
	top: 5px;
}
.wpcf7-select,
.wpcf7-textarea {
	padding:4px 5px;
}
.con_msg {
	margin:3px;
	padding:10px;
    width: 100%;
    height: 250px;
}
.wpcf7-confirm, .wpcf7-submit, .wpcf7-back {
	padding: 10px 5px;
	width: 160px;
	letter-spacing: 3px;
}
.contact_form p input.wpcf7-submit,
.contact_form p input.wpcf7-previous {
    display: block;
    margin:0 auto;
	padding:16px 0;
	width:200px;
	letter-spacing:3px;
}
.wpcf7 span.wpcf7-not-valid-tip {
    display: block;
    position: static;
    top: 0;
    left: 0;
    border: none;
    color: red;
}


}
