@charset "utf-8";
/* CSS Document */

/* ===================================================================
 Reset
=================================================================== */

*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
 margin: 0; padding: 0; border: 0; font-weight: normal; font-size: 100%; vertical-align:baseline; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
article, header, footer, aside, figure, figcaption, nav, section { display:block; }
figure {padding: 0; margin: 0 0 1em 0;}
html { scroll-behavior:smooth; }
body { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
table { border-collapse: collapse; border-spacing: 0;}

/*--------------------------------------------------------------
 Accessibility
--------------------------------------------------------------*/
.screen-reader-text { clip:rect(1px,1px,1px,1px); height:1px; overflow:hidden; position:absolute!important; width:1px; word-wrap:normal!important; top:1px; }
.screen-reader-text:focus { background-color:#f1f1f1; -webkit-border-radius:3px; border-radius:3px; -webkit-box-shadow:0 0 2px 2px rgba(0,0,0,0.6); box-shadow:0 0 2px 2px rgba(0,0,0,0.6); clip:auto!important; color:#21759b; display:block; font-size:14px; font-size:.875rem; font-weight:700; height:auto; left:5px; line-height:normal; padding:15px 23px 14px; text-decoration:none; top:5px; width:auto; z-index:100000; }

/* Layout
=================================================================== */
html { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
*, :before, :after { -webkit-box-sizing:inherit; -moz-box-sizing:inherit; box-sizing:inherit;}

@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium");}
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold;}

body { background:#F6F8FA; padding:0; margin:0 auto; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; color: #1F1F1F; font-size:16px; line-height:1.5; letter-spacing: 0.05em;}
#wrap {overflow: hidden; width: 100%; max-width: 1920px; margin:0 auto;}

/* Chrome でのみフォントを太めに表示する */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  * { text-shadow: transparent 0 0 0, rgba(0, 0, 0, .7) 0 0 0 !important;}
}

@media only screen and (min-width: 960px) { 
    .tel { pointer-events:none}
    a.tel {color: #1F1F1F;}
}

p { margin:0 0 1em; padding:0; }
img { max-width:100%; height: auto; margin:0; padding:0; -ms-interpolation-mode: bicubic; border: 0; vertical-align: middle;}
p.font-l {font-size:106.25%; }

ul,ol { list-style-type:none;}

.alignleft { display:inline; float:left; margin-right:1.5em;}
.alignright { display:inline; float:right; margin-left:1.5em;}
.aligncenter { clear:both; display:block; margin-left:auto; margin-right:auto; text-align: center;}

.clear { clear: both;}
.clear:after { content:" "; display:block; clear:both;}

.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; align-items: flex-start;}

a.btn,
a.btn:visited{ position: relative; margin:0; padding: 20px 60px 19px 50px; font-size: 16px; font-weight: bold; background: #0081E8; color: #FFF; text-align: center; line-height: 1; text-decoration: none; border-radius: 100vh;}
a.btn:after { position: absolute; top: 40%; right: 13px; font-family: "Font Awesome 6 Free"; content: "\f061"; font-weight: 900; padding-left: 5px; color: #fff;}

a.btn-w,
a.btn-w:visited{ position: relative; margin: 0; padding: 20px 60px 19px 50px; font-size: 16px; font-weight: bold; background:#FFF; color: #1F1F1F; text-align: center; line-height: 1; display: block; text-decoration: none; border-radius: 100vh;}
a.btn-w:after { position: absolute; top: 40%; right: 13px; font-family: "Font Awesome 6 Free"; content: "\f061"; font-weight: 900; padding-left: 5px; color: #005FAA;}

@media screen and (max-width:1200px){
    a.btn,
    a.btn-w{ padding: 20px 30px 19px 20px; }
}

@media screen and (max-width:640px){
    a.btn,
    a.btn-w{ font-size: 15px; }
}

a,
a:visited { color: #016BB6; text-decoration: none; -webkit-transition: 0.3s; transition: 0.3s;}
a:focus { }
a:hover,
a:active { opacity:0.8; filter: alpha(opacity=80);}

cap {font-size:87.5%;}


/* TITLE
=================================================================== */
#title-area { clear: both; width:100%; height:400px; position: relative; background:url("../images/title_bg.jpg"); background-size: cover; text-align: center;}
#title { width:480px; height:420px; margin:0 auto; padding:0; position: absolute; top: 0; left:12%; text-align: left; background:url("../images/title_h2_bg.png") no-repeat left bottom;}
#title h2 { margin: 48% 20px 0 20px; padding:0 0.5em 10px 0.5em; text-align: center; font-size:41px; font-weight: bold; color: #FFF; border-bottom: 5px solid #FFD900; letter-spacing: 0.05em; line-height: 1.3; }
#page-simulation #title h2,
#page-kokuminhoken #title h2,
#page-404 #title h2{ font-size: 36px; letter-spacing: 0em;}

@media screen and (max-width:960px){
    #title-area { height:200px;}
    #title { width:80%; max-width:300px; height:210px; background-size: cover;}
    #title h2 { position: absolute; bottom:17%; left: 0; right: 0; width:80%; margin: 0 auto; font-size:25px; border-bottom:3px solid #FFD900; line-height: 1.2;}
    #page-simulation #title h2,
    #page-kokuminhoken #title h2,
    #page-404 #title h2{ font-size:25px;}
}

@media screen and (max-width:480px){
    #title { left:10%;}
}

/* ===================================================================
 Header
=================================================================== */
#site-head { position: fixed; top:20px; left:0; right:0; margin:0 auto; width:100%; max-width: 1920px; text-align:center; z-index:10000; }
#site-head #head-area { position: relative; width:89%; height:100px; margin:0 auto; padding:10px; background:#FFF; border-radius:8px; }
#site-head #head-area .logo { float:left; width:400px; padding:0; z-index:1200;}
#site-head #head-area .logo img { width:100%;}
#site-head #head-area #head { float: right; width: calc(100% - 430px); margin:0;}

@media screen and (max-width:1400px){
    #site-head { width:94%;}
    #site-head #head-area .logo { width:300px; padding-top: 10px;}
    #site-head #head-area #head { width: calc(100% - 310px); }
}

@media screen and (max-width:959px){
    #site-head { top:10px; }
    #site-head #head-area { height:60px; }
    #site-head #head-area .logo { width: 210px; padding:0;}
}

/*--------------------------------------------------------------
 Navigation
--------------------------------------------------------------*/
#head-nav ul li { font-size: 16px; }
#head-nav ul li a,
#head-nav ul li.child span { position: relative; display: inline-block; text-decoration: none; padding: 5px 10px; color: #1F1F1F;}
#head-nav ul li.child span { cursor: pointer;}
#head-nav ul li a::after { position: absolute; bottom:0; left:0; content: ''; width:100%; height:2px; background:#FFD800; transform: scale(0, 1); transform-origin: center top; transition: transform .3s;}
#head-nav ul li a:hover::after { transform: scale(1, 1);}

@media screen and (max-width:1400px) and (min-width:960px) {
    #head-nav ul li { font-size:15px; }
    #head-nav ul li a,
    #head-nav ul li.child span { padding: 1px 10px;}
}

@media screen and (min-width:960px), print {
    #head-nav { width: calc(100% - 280px); margin:0; padding:0; display:table;}
    #head-nav:after { content:" "; display:block; clear:both;}
    #head-nav ul { position: relative; width: 100%; height:80px; margin: 0 auto; display:table-cell; vertical-align:middle;}
    #head-nav ul li { float: left; position: relative; width: ; margin: 0 0.15%; }
    #head-nav ul li i{ margin-right: 0.2em;}
    #head-nav ul li a { display: block; color: #1F1F1F;}
    #head-nav ul li a:hover { color: #777; -webkit-transition: all .5s; transition: all .5s;}
    #head-nav ul li.child span {}
    #head-nav ul li.child ul { position: absolute; width: 13em; top: 50px; border-top: 1px solid #888; visibility: hidden; -webkit-transition: all .2s ease; transition: all .2s ease; z-index: 1;}
    #head-nav ul li.child ul li{ float: none; width: 100%; border-bottom: 1px solid #888; text-align: left;}
    #head-nav ul li.child ul li a{ padding: 10px 10px; background: #fff; display: block;}
    #head-nav ul li.child ul li a:hover { background: #FFF;}
    #head-nav ul li:hover ul { top: 50px; visibility: visible; opacity: 1;}
    #head-nav ul li.nav-sp { display: none; }
}

@media screen and (max-width:959px){
    #head-nav { width: 100%; margin:0 auto; padding:0;}
    #head-nav ul { width: 100%; margin:0 auto; list-style-type:none; background-color:rgba(255,255,255,0.97); }
    #head-nav ul li { border-bottom: 1px solid #AAA;}
    #head-nav ul li:last-child { border-bottom: none;}
    #head-nav ul li a{ display:block; margin:0 auto; padding:15px 2px; text-decoration: none; text-align: center;}
    #head-nav ul li a:hover { opacity:1; filter: alpha(opacity=100); }
    #head-nav ul li.child ul li{ border-top: 1px dashed #AAA; border-bottom: none;}
    #head-nav ul li.nav-sp { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; align-items: flex-start;}
    #head-nav ul li.nav-sp a { width: 50%; padding:5px; }
    #head-nav ul li.nav-sp a i { height: 50px; width: 50px; padding: 0; font-size: 21px; border-radius: 10px; color: #FFF; background: #222; text-align: center; line-height: 50px;}
}

#head .head-bt { position: absolute; width: 280px; right:20px; top:20px; margin:0; padding:0;}
#head .head-bt a { }
#head .head-bt a:hover{ opacity:0.8; filter: alpha(opacity=80);}

#head .head-bt .nav-tel { float: left; width:220px; text-align: right; }
#head .head-bt .nav-tel a { color: #1F1F1F; letter-spacing: 0.35;}
#head .head-bt .nav-tel span { font-size: 21px; font-weight: bold;}
#head .head-bt .nav-tel i { padding-right:5px; font-size: 21px;}
#head .head-bt .nav-tel .open { font-size:13px; letter-spacing: 0;}
#head .head-bt .nav-line a { float:right; width: 50px; padding:0; }

@media screen and (max-width:959px){
    #head .head-bt .nav-tel span { font-size:18px; }
    #head .head-bt .nav-tel i {font-size:18px;}
}

@media screen and (max-width:959px){
    #head .head-bt { right:60px; top:5px; margin:0; padding:0;}
}

@media screen and (max-width:640px){
    #head .head-bt { display: none; }
}

/*--------------------------------
 Header SP
----------------------------------*/
@media screen and (min-width:960px){
    #site-head .hidden_box input,
    #site-head .hidden_box label { display: none;}
}

@media screen and (max-width:959px){
    #site-head .hidden_box { width: 100%; position: absolute; top:45px; right: 0; margin: 0; padding: 0; z-index: 10000;}
    #site-head .hidden_box label { padding: 0; width:40px; height: 40px; position: absolute; top:-35px; right: 10px; font-weight: bold; cursor :pointer; transition: .8s; background: url("../images/menu_open.png") no-repeat 0 0; background-size: 40px 40px;}
    #site-head .hidden_box label span { width: 40px; height: 40px;}
    #site-head .hidden_box label:before {}
    #site-head .hidden_box label:hover { background: url("../images/menu_hover.png") no-repeat 0 0; background-size: 40px 40px;}
    #site-head .hidden_box input:checked ~ label { background: url("../images/menu_close.png") no-repeat 0 0; background-size: 40px 40px;}
    #site-head .hidden_box input { display: none;}
    #site-head .hidden_box .hidden_show { width: 100%; height: 0; padding:0; overflow: hidden; opacity: 0; transition: 0.8s; margin-top:15px; box-shadow: 0 2px 6px #CCC; border-radius:0 0 10px 10px;}
    #site-head .hidden_box input:checked ~ .hidden_show { padding: 0; height: auto; opacity: 1;}
}

/* パンくずリスト
=================================================================== */
.pankuzu-area { clear:both; width:90%; max-width:1400px; margin:25px auto 50px auto; padding:0; }
.pankuzu { width:100%; margin:0 auto; padding:0; font-size:13px; color:#666; }
.pankuzu-area:after,
.pankuzu:after { content:" "; display:block; clear:both;}
.pankuzu a { text-decoration:underline; position:relative; margin-right:20px; }
.pankuzu a::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 2px #016BB6; border-right:solid 2px #016BB6;
-webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; right:-12px; margin-top:-3px;}

@media only screen and (max-width: 959px) { 
	.pankuzu-area {max-width:94%;}
}

/* ===================================================================
 main
=================================================================== */
.site-content-contain { width:89%; margin:0 auto;}
.has-sidebar #secondary { float:left; width:260px; margin:0;}
.has-sidebar #primary { float:right; width:calc(100% - 320px); margin:0;}

#main { clear: both; width:100%; margin:0 auto; padding:0; text-align: center;}

@media screen and (max-width:959px){
    .site-content-contain { width:94%;}
}

@media only screen and (max-width:960px) { 
    .has-sidebar #secondary { display: none;}
    .has-sidebar #primary { float:none; width:100%; }
}

.has-sidebar #secondary section { width:100%; margin: 0 auto 30px; padding:40px 15px; background: #fff; border-radius: 15px;}
.has-sidebar section#side-add { text-align: center;}
.has-sidebar section#side-add .side-tel { margin-bottom: 1em;}
.has-sidebar section#side-add .side-tel a { color: #1F1F1F; letter-spacing: 0.12em;}
.has-sidebar section#side-add .side-tel span { font-size: 24px;}
.has-sidebar section#side-add .side-tel i { padding-right:5px; font-size: 21px;}
.has-sidebar section#side-add .side-line a { padding:0; margin: 0 auto;}
.has-sidebar #side-nav { width:100%;}
.has-sidebar #side-nav ul { list-style:none; margin:0; }
.has-sidebar #side-nav ul li { margin-bottom:0.5em;}
.has-sidebar #side-nav ul li ul { margin:0 0 -1px 1em; padding:0; position:relative; }
.has-sidebar #side-nav ul li li { }

.has-sidebar #side-nav ul li a,
.has-sidebar #side-nav ul li.child span{ position: relative; display:block; text-decoration: none; padding:5px 0 5px 5px; color: #1F1F1F;}
.has-sidebar #side-nav ul li a { position: relative; margin-left:10px; }
.has-sidebar #side-nav ul li a::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 2px #016BB6; border-right:solid 2px #016BB6;
-webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; left:-10px; margin-top:-4px;}
.has-sidebar #side-nav ul li a::after { position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 2px; background:#FFD800; transform: scale(0, 1); transform-origin: center top; transition: transform .3s;}
.has-sidebar #side-nav ul li a:hover::after { transform: scale(1, 1);}

/*--------------------------------------------------------------
 CONTACT
--------------------------------------------------------------*/
.contact { width:90%; max-width:1400px; margin:0 auto 80px auto; padding:40px 7.14%; color:#fff; background-image:linear-gradient(#0081e8 50%, #0071e3);}
.contact h3 { width:30%; padding:70px 0; font-size:18px; font-weight:bold; text-align:left; line-height:1.1; border-right:1px solid #A8DBF4;}
.contact h3 strong { font-size:255.56%; font-weight:bold;}
.contact .txt { width:68%; padding:30px 0 0 30px;}
.contact .cap { clear:both; font-size:21px; font-weight: bold; color:#FFF; margin: 0 auto 40px auto; text-align: center; position: relative; display: inline-block; padding: 0 50px;}
.contact .cap:before, .contact .cap:after{ content:""; position: absolute; top: 50%; width:38px; height: 2px; background-color:#A8DBF4;}
.contact .cap:before {left:0; transform:rotate(45deg);}
.contact .cap:after {right:0; transform:rotate(-45deg);}
.contact .txt ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; align-items:center;}
.contact .txt ul li {}
.contact .txt ul li:first-child { width:55%;}
.contact .txt ul li:last-child { width:45%; padding-top: 10px;}
.contact .txt a.bt-line { padding: 30px 35px 30px 45px; font-size: 21px; font-weight: bold; color: #fff; border: 1px solid #fff; border-radius: 10px;}
.contact .txt a.bt-line img { margin-left: 10px;}
.contact .txt a.tel{ font-size:31px; font-weight: bold; color: #fff;}
.contact .txt a.tel i{ margin-right: 8px; color: #A8DBF4;}
.contact .txt p.open { letter-spacing:0;}

@media only screen and (max-width:1400px) {
    .page .contact h3 { width: 100%; padding: 20px 0; font-size: 16px; border-bottom: 1px solid #A8DBF4; border-right:none; }
    .page .contact .txt { width: 100%;}
}

@media only screen and (max-width:1200px) {
    .contact h3 { width: 100%; padding: 20px 0; font-size: 16px; border-bottom: 1px solid #A8DBF4; border-right:none; }
    .contact .txt { width: 100%;}
    .page .contact .txt ul li:first-child { width: 100%; margin-bottom: 30px;}
    .page .contact .txt ul li:last-child { width: 100%;}
}

@media only screen and (max-width:959px) {
    .contact { padding: 20px 7.14%;}
    .contact .txt { width: 100%; margin: 0 auto; padding:30px 0 0 0; text-align: center;}
    .contact .txt ul li:first-child { width: 100%; margin-bottom: 30px;}
    .contact .txt ul li:last-child { width: 100%;}
    .contact .txt a.bt-line { width: 100%; margin: 0 auto; padding: 30px 20px 30px 30px; }
    .contact .txt a.tel{ width: 100%; margin: 0 auto; }
}

@media only screen and (max-width:640px) {
    .contact .cap { font-size:17px; margin-bottom:30px; padding: 0 32px;}
    .contact .cap:before, .contact .cap:after{ content:""; position: absolute; top: 50%; width:25px; height: 2px; background-color:#A8DBF4;}
    .contact .txt a.bt-line { font-size: 17px; padding: 23px 20px 25px 30px; }
    .contact .txt a.tel{ font-size:23px; }
    .contact .txt p.open {font-size:15px;}
}

/*--------------------------------------------------------------
 CONTACT-S
--------------------------------------------------------------*/
.contact-s { width:100%; max-width:640px; margin:30px auto; padding:30px 5%; color:#fff; text-align: center; background-image:linear-gradient(#0081e8 50%, #0071e3); display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; align-items:center!important;}
.contact-s a.bt-line { width:230px; padding: 13px 12px 13px 20px; font-size:16px; font-weight: bold; color: #fff; border: 1px solid #fff; border-radius: 10px;}
.contact-s a.bt-line img { margin-left: 10px;}
.contact-s a.tel{ width:calc(100% - 250px); font-size:21px; font-weight: bold; color: #fff;}
.contact-s a.tel i{ margin-right: 8px; color: #A8DBF4;}
.contact-s .open { margin:0 auto; font-size:15px; letter-spacing: 0; line-height:1; text-align: center!important;}

@media only screen and (max-width:959px) {
    .contact-s a.bt-line { margin: 0 auto 20px auto; padding: 10px 10px 10px 20px; }
    .contact-s a.tel{ width: 100%; margin: 0 auto; }
}

/*--------------------------------------------------------------
 Dl List
--------------------------------------------------------------*/
dl.list-dl { clear:both; width:100%; text-align:left; border-bottom:1px solid #AAA; line-height: 1.2;}
dl.list-dl dt { padding:14px 0 7px 10px; clear:left; float:left; width:10em; border-top:1px solid #AAA; color:#777;}
dl.list-dl dd { padding:14px 0 7px 10px; margin-left:10em; border-top:1px solid #AAA;}
dl.list-dl:after,dl.list-dl dt:after,dl.list-dl dd:after { content:" "; display:block; clear:both;}

@media only screen and (max-width: 640px) {
	dl.list-dl dt { clear: both; float: none; width: 100%; padding-bottom: 5px;}
	dl.list-dl dd { margin-left:0; border-top:none;}
}

/* ===================================================================
 Archive
=================================================================== */
.archive .post { width:100%; margin: 0 auto 20px auto; padding:40px 10% 30px 10%; background:#FFF; border-radius:20px;}
.archive .post:after { content:" "; display:block; clear:both;}
.archive .entry-none { font-size:19px; text-align: center; padding: 0;}
.archive .entry-header h3.entry-title { clear:both; font-size:23px; font-weight: bold; border-bottom:3px solid #005FAA; text-align:left; line-height:1; margin:0 auto 1.2em; padding:0 0 0.2em 0;}
.archive .entry-meta { margin-bottom: 0; }
.archive .post-thumbnail { width: 300px; margin:0 20px 20px 0;}
.archive .post-thumbnail img { width: 300px;}
.archive .entry-content { text-align: left; }

@media only screen and (max-width: 640px) {
	.archive .post-thumbnail { width:100%; margin: 0 auto 20px auto;}
}

/* ===================================================================
POST
=================================================================== */
.single-post article.post { width:100%; margin: 0 auto 20px auto; padding:80px 10% 40px 10%; background:#FFF; border-radius:20px;}
.single-post article.post .entry-header h3.entry-title { clear:both; position: relative; display: inline-block; line-height:1; margin:0 auto 1.2em; padding:0 0 0.2em 0; font-size: 31px; font-weight: bold; color: #1F1F1F;}
.single-post article.post .entry-header h3.entry-title:before { content: ''; position: absolute; bottom: -15px; display: inline-block; width:420px; height:5px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: #5798CB;}
.single-post article.post .post-thumbnail { width: 100%; text-align: center;}
.single-post article.post .post-thumbnail img {margin-left: auto; margin-right: auto;}
.single-post article.post .entry-content { clear: both; }

.entry-header { margin-bottom: 20px;}
.entry-meta { font-size:15px; letter-spacing: 0.05em; text-align: right; }
.single-post .entry-meta{ margin-bottom:30px;}
.entry-meta a { }
.entry-date { }
.posted-on {}
.byline { display:inline; }
.entry-content { text-align: left; }

/* キャプション */
.wp-caption-text { font-size: 13px;}
/* 続きを読む */
.entry-content .more-link { display: inline;}

.post-thumbnail { margin:0 auto 30px auto; float: left;}
.post-thumbnail a img { -webkit-backface-visibility: hidden; -webkit-transition: opacity 0.2s; transition: opacity 0.2s;}
.post-thumbnail a:hover img,
.post-thumbnail a:focus img { opacity: 0.7;}

/*--------------------------------------------------------------
 ENTRY-CONTENT
--------------------------------------------------------------*/

.post h1, .post h2, .post h3, .post h4, .post h5, .post h6 { clear:both; line-height:1; margin:0 0 1.5em 0; padding:1.5em 0 0; }
.post h1 { color:#005FAA; font-size:31px; }
.post h2 { color:#005FAA; font-size:26px; margin-bottom: 1em; padding-bottom: 0.3em; font-weight: bold; border-bottom:3px solid #005FAA; text-align: left;}
.post h3 { color:#005FAA; font-size:23px; }
.post h4 { color:#005FAA; font-size:21px; }
.post h5 { color:#005FAA; font-size:19px; }
.post h6 { color:#005FAA; font-size:17px; }

.post img.alignleft { display:inline; float:left; margin: 0 1.5em 1em 0;}
.post img.alignright { display:inline; float:right; margin: 0 0 1em 1.5em;}
.post img.aligncenter { clear:both; display:block; margin-left:auto; margin-right:auto; text-align: center;}

.post table { width:100% }
.post table th, .post table td  { padding: 10px; text-align: left; border: 1px solid #CCC; }
.post table th { background: #EEE;  }
.post table td { }

@media only screen and (max-width: 640px) { 
	.post table { margin: 0 -10px; }
	.post table tr { display:block; margin-bottom: 10px;}
	.post table th { display:block; width: 100%; }
	.post table td { display: list-item; width: 90%; margin-left: 10%; border:none; }
}

.post ul { list-style-type: disc; margin: 0 0 0 1.5em; padding: 0; }
.post ul li > ul { margin-bottom: 0; margin-left: 1.5em; }

.post ol { list-style-type: decimal; margin: 0 0 0 1.5em; padding: 0; }
.post ol li > ol { margin-bottom: 0; margin-left: 1.5em; }

.post dl { clear:both; width: 100%; text-align: left; border-bottom:1px solid #AAA; }
.post dt { padding: 10px 0 10px 10px; clear: left; float: left; width: 15em; border-top:1px solid #AAA; color:#777; }
.post dd { padding: 10px 0 10px 10px; margin-left: 15em; border-top:1px solid #AAA; }
.post dl:after, .post dt:after, .post dd:after { content:" "; display:block; clear:both;}

@media only screen and (max-width: 640px) {
	.post dt { clear: both; float: none; width: 100%; padding-bottom: 5px; }
	.post dd { margin-left:0; border-top:none; }
}


/* ===================================================================
PAGES
=================================================================== */
.page-header { padding-bottom:2em; }
.page .entry-header .edit-link { font-size:14px; }
.page-links { clear:both; margin:0 0 1.5em; }

/* ===================================================================
SEARCH-page
=================================================================== */
.error404 .page-content .search-form,
.search .page-content .search-form { margin-bottom:3em; }

.search-results article.hentry { margin: 0 auto 1em auto; padding-bottom: 1em; border-bottom: 1px solid #CCC;}
.search .entry-header { padding:1em 0; }
.search .entry-header .entry-title { font-size:22px; margin-bottom:0.25em; }

.search-form input,
.search-form textarea { width: 100%; }

/* ===================================================================
 Pagination
=================================================================== */
.nav-subtitle { display:none;}
.nav-links .nav-title { position: relative; }
.nav-title-icon-wrapper { position: absolute; text-align: center; width: 2em; }

/* Page pagination
---------------------------------------------------------------------- */
.pagination { clear:both; width:100%; margin: 20px auto; padding:1em 0; line-height:1.2; font-size:14px; text-align:center; }
.navigation.pagination { clear: both; width: 100%;}
.page-numbers{ display: inline-block; padding: 0 0.75em; line-height: 1;}
.page-numbers.current { color: #777; display: inline-block; font-size: 15px; font-weight:bold; }
.page-numbers.current .screen-reader-text { font-size: 93.8%; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); overflow: hidden; position: absolute !important; }

.prev.page-numbers,
.next.page-numbers { padding: 0; line-height: 1; display: inline-block; }

.prev.page-numbers { float: left; position: relative; padding-left: 15px;}
.prev.page-numbers::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 2px #697b91; border-right:solid 2px #697b91;
-webkit-transform:rotate(-135deg); transform:rotate(-135deg); top:50%; left:0; margin-top:-3px;}

.next.page-numbers { float: right; position: relative; padding-right: 15px;}
.next.page-numbers::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 2px #697b91; border-right:solid 2px #697b91;
-webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; right:0; margin-top:-3px;}

/* Posts pagination
---------------------------------------------------------------------- */
.post-navigation { clear:both; width:100%; margin: 20px auto; padding:1em 0; line-height:1.2; font-size:14px; }
.post-navigation:after { content:" "; display:block; clear:both;}
.post-navigation .nav-links { margin: 0 auto; padding: 0; width: 100%;}
.post-navigation a[rel="next"] { float: right; text-align: right;}
.post-navigation .nav-list{ clear:both; text-align:center; }
.post-navigation .nav-list a { font-size:100%; padding:0 20px; text-decoration:none;}

.post-navigation .nav-previous { float:left; text-align:left; width:50%; position: relative; padding-left: 15px; }
.post-navigation .nav-previous::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 2px #697b91; border-right:solid 2px #697b91;
-webkit-transform:rotate(-135deg); transform:rotate(-135deg); top:48%; left:0; margin-top:-3px;}

.post-navigation .nav-next { float:right; text-align:right; width:48%; position: relative; padding-right: 15px; }
.post-navigation .nav-next::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 2px #697b91; border-right:solid 2px #697b91;
-webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; right:0; margin-top:-3px;}


/* ===================================================================
 FOOTER
=================================================================== */
#site-foot { clear: both; width:100%; wtext-align: center; background: #fff; padding:35px 0 15px 0;} 
#site-foot:after { content:" "; display:block; clear:both;}
.foot { width:94%; max-width:1700px; margin: 0 auto; padding: 0;}
.foot-add { width: 35%; float: left; font-size:16px; text-align: left;}
.foot-add img { max-width: 100%; }
.foot-add a.tel { color: #1F1F1F; text-decoration: none;}
.foot-nav { width:60%; float: right; padding-top:50px; text-align: left; line-height: 1.6;}
.foot-nav ul { margin-bottom: 0.5em; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content:flex-start; align-items: flex-start;}
.foot-nav ul li{ margin-right: 0.3em; }
.foot-nav ul li:before { font-family: "Font Awesome 6 Free"; content: "\f105"; font-weight: 900; padding-right:4px; color: #005FAA;}
.foot-nav ul li a,
.foot-nav ul li.child span{ font-size:16px; margin-right:0.7em; color: #1F1F1F; }
.foot-nav ul li.child ul { float: right; margin-left:15px;}
.foot-nav ul li.child ul li{ font-weight: normal; font-size:14px; margin-left: 0.6em; margin-right: 0.3em; position: relative; background: none;}
.foot-nav ul li.child ul li:before { position: absolute; top:0; left:-1em; font-weight: normal; content: "/"; color: #333;}
.foot-nav a i { font-size: 24px; font-weight: normal; vertical-align: middle;}

@media only screen and (max-width: 960px) { 
    .foot { width:90%; }
	.foot-add { width: 100%; float: none; text-align: center;}
    .foot-nav { width: 100%; float: none; margin: 0 auto; padding-top:10px;}
    .foot-nav ul li a,
    .foot-nav ul li.child span { margin-right: 0; padding-left: 0.7em;}
    .foot-nav ul li{ width: 33.3%; margin-right: 0; display: block;}
    .foot-nav ul li.child ul { width:13em; float: none;}
    .foot-nav ul li.child ul li{ width: 100%; margin-left:0.4em; }
    .foot-nav ul li.child ul li:before { left:-0.5em;}
    .foot-nav ul li.child a{ margin-left: 0;}
}

@media only screen and (max-width: 720px) { 
    .foot-nav { }
    .foot-nav ul li{ width:48%;}
    .foot-nav ul li a { font-size:15px;}
}

@media only screen and (max-width:480px) { 
    .foot-nav { max-width: 230px;}
    .foot-nav ul li{ width:100%;}
    .foot-nav ul li a { font-size:15px;}
    .foot-nav ul li.child ul { width:100%;}
}

/* copyright */
.copyright { clear: both; width:100%; text-align:center; font-size:12px; padding: 15px 0; }
.copyright a { color:#1F1F1F; text-decoration:none;}
.copyright a:hover { color:#1F1F1F; text-decoration:underline;}

/* ページ先頭へ -----------------*/
#pagetop { position:fixed; bottom:6px; right:6px;}
#pagetop a { background-color:rgba(0,95,170,0.9); border-radius:10px; width:50px; height:50px; line-height:50px; text-align:center; display:block; font-size:25px; color:#fff; text-decoration:none;}
#pagetop a:hover { text-decoration:none; color:#fff; }
