/*!
Theme Name: jcprog22
Theme URI: http://underscores.me/
Author: Crossroad.Inc
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: jcprog22
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.

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

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
@charset "utf-8";
:root{
	--serifjp:"Noto Serif JP", "Noto Serif", serif;
	--serifen:"Noto Serif", serif;
	--sansjp:"Noto Sans JP", "Noto Sans", sans-serif;
	--sansen:"Noto Sans", sans-serif;
  --fontawesome:"Font Awesome 7 Free";
	--red1:#B4443E;
	--red2:#F2B7B3;
	--gblue:#3B7C9A;
	--blue1:#1F4E79;
	--blue2:#C9DEF3;
	--black:#374151;
	--pale1:#F3F4F6;
	--pale2:#e9eff5;
	--pale3:#eff4f9;
}
html{
	-webkit-text-size-adjust: 100%;
}
body{
	margin: 0;
}
main{
	display: block;
}
hr{
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre{
	font-family: monospace, monospace;
	font-size: 1em;
}
a{
	background-color: transparent;
	transition:all .3s;
}
abbr[title]{
	border-bottom:none;
	text-decoration:underline;
	text-decoration:underline dotted;
}
b,strong{
	font-weight: bolder;
}
code,kbd,samp{
	font-family:monospace, monospace;
	font-size:1em;
}
small{
	font-size: 80%;
}
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub{
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img{
	height:auto;
	max-width:100%;
	border-style:none;
}
.imgarea{
	text-align:center;
	margin-bottom:1rem;
}
button,input,optgroup,select,textarea{
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,input{
	overflow: visible;
}
button,select{
	text-transform: none;
}
button,[type="button"],[type="reset"],[type="submit"] {
	-webkit-appearance: button;
	appearance: button;
}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend{
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"]{
	-webkit-appearance: textfield;
	appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details{
	display: block;
}
summary{
	display: list-item;
}
template {
	display: none;
}
[hidden] {
	display:none;
}
*,*::before,*::after {
	box-sizing: inherit;
}
html{
	box-sizing:border-box;
}
body,p{
	color:var(--black);
	font-family:var(--serifjp);
	font-size: 16px;
	line-height: 1.7;
}
h1,h2,h3,h4,h5,h6{
	clear:both;
	margin:0;
}
p{
	margin: 0;
}
dfn,cite,em,i{
	font-style: italic;
}
blockquote {
	margin: 0 1.5em;
}
address {
	margin: 0 0 1.5em;
}
pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
code,kbd,tt,var{
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr,acronym{
	border-bottom: 1px dotted #666;
	cursor: help;
}
mark,ins{
	background: #fff9c0;
	text-decoration: none;
}
big{
	font-size: 125%;
}
body {
	background: #fff;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
ul,ol{
	padding-inline-start:20px;
	margin-bottom:0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt {
	font-weight: 700;
}
dd {
	margin-bottom:1.5em;
}
embed,iframe,object {
	max-width: 100%;
}
figure {
	margin: 1em 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
    border-collapse: collapse;
}
/* Links
------------------*/
a {
	text-decoration: none;
	color: #4169e1;
}
a:focus, a:hover {
	text-decoration: none;
}
/* 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.6em 1em 0.4em;
}
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: #666;
	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%;
}

/* Navigation
---------------------------*/
.main-navigation {
	display: block;
	width: 100%;
}
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation ul ul{
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index:100;
}
.main-navigation ul li.menu-item-has-children:hover>ul,.main-navigation ul li.focus>ul{
	display:block;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
}
.main-navigation ul ul a {
	width: 100%;
	padding:10px 5px;
}
.main-navigation li {
	position: relative;
}
.main-navigation a {
	display: block;
	text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}
@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}
.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}
.updated:not(.published) {
	display: none;
}
.page-content,
.entry-content,
.entry-summary {
	margin:0 auto;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}
.bypostauthor {
	display: block;
}
/* Widgets
--------------------------------------------- */
.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;
}
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}
.infinity-end.neverending .site-footer {
	display: block;
}
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#primary[tabindex="-1"]:focus {
	outline: 0;
}
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.gmap-wrap {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom:100%;
}
.gmap-wrap iframe, .gmap-wrap object, .gmap-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
a.tellink {
  transition: all .3s;
}
.entry-body img {
  display: inline;
}
.wp-block-image img {
	object-fit: contain;
}
.entry-body a {
	transition: all .3s;
}
.entry-body a:hover {
	text-decoration: underline;
	opacity: 0.8;
}
.tb-inline,.tb-block,.tb-flex,.pc-inline,.pc-block,.pc-flex{
  display: none;
}
@media(min-width:768px){
  .tb-inline {
    display: inline!important;
  }
  .tb-block {
    display: block!important;
  }
  .tb-flex {
    display: flex!important;
  }
  .gmap-wrap {
    padding-bottom:75%;
  }
  a.tellink {
    pointer-events: none;
  }
}
@media(min-width:992px){
  .pc-inline {
    display: inline!important;
  }
  .pc-block {
    display: block!important;
  }
  .pc-flex {
    display: flex!important;
  }
  .gmap-wrap {
    padding-bottom:56.25%;
  }
}
@media(min-width:1200px){
	.gmap-wrap{
		padding-bottom:50%;
	}
}
/* title,font
_____________________________*/
h1{
  font-size:24px;
}
h2{
  font-size:22px;
  margin-bottom:20px;
}
.h2org,.h3org{
	color:var(--blue1);
	font-weight:700;
}
.h2org{
	font-size:24px;
	text-align:center;
	padding-bottom:20px;
	margin-bottom:30px;
	position:relative;
}
.h2org::after{
	content:'';
	position:absolute;
	bottom:0;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	width:60px;
	height:1px;
	background:var(--gblue);
}
.h2line{
	font-size:20px;
	color:var(--blue1);
	line-height:1.7;
	padding-left:15px;
	border-left:1px solid #bbb;
}
h3{
  font-size:20px;
  margin-bottom:20px;
}
h4{
  font-size:18px;
  margin-bottom:15px;
}
.a_btn>a{
	display:block;
	width:calc(100% - 6px);
	padding:13px 20px;
	color:var(--blue1);
	font-weight:bold;
	font-size:17px;
	background:var(--pale1);
	box-shadow:6px 6px 1px #CACED6;
	text-align:center;
}
.a_btn.btnW>a{
	background:#fff;
	box-shadow:6px 6px 1px #c3d2eb;
}
.a_btn.btnR>a{
	color:#fff;
	background:var(--red1);
	box-shadow:6px 6px 1px #F1E3E2;
}
.a_btn>a:hover,.a_btn>a:focus{
	filter:brightness(1.1);
	-webkit-transform:translate(5px, 5px);
	transform:translate(5px, 5px);
	box-shadow:none;
}
.a_btn.cntr,.btn_arrow.cntr{
	display:flex;
	justify-content:center;
}
.btn_arrow>a{
	display:flex;
	justify-content:center;
	align-items:center;
	column-gap:10px;
	font-size:17px;
	color:var(--blue1);
	font-weight:700;
	padding:0 15px 6px;
	border-bottom:1px solid var(--gblue);
}
.btn_arrow>a::after{
	content:'';
	display:block;
	width:20px;
	height:17px;
	background:var(--gblue);
	will-change:clip-path;
	-webkit-clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 50% 50%);
	clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 50% 50%);
	transition:all .3s;
}
.btn_arrow>a:hover,.btn_arrow>a:focus{
	opacity:0.8;
}
.btn_arrow>a:hover::after,.btn_arrow>a:focus::after{
	-webkit-transform:translateX(5px);
	transform:translateX(5px);
}
@media(min-width:400px){
	.a_btn>a{
		width:fit-content;
	}
	.a_btn.mw-300>a{
		min-width:300px;
	}
}
@media(min-width:768px){
	h1{
		font-size:26px;
	}
	h2{
		font-size:24px;
	}
	h3{
		font-size:22px;
	}
	h4{
		font-size:20px;
	}
	.h2org{
		font-size:28px;
	}
	.h2line{
		font-size:22px;
	}
}
@media(min-width:992px){
	h1{
		font-size:28px;
	}
	h2{
		font-size:26px;
	}
	h3{
		font-size:24px;
	}
	.h2org{
		letter-spacing:1px;
		font-size:32px;
	}
	.h2line{
		font-size:24px;
	}
}
.entry-header{
	display:flex;
	width:100%;
	height:150px;
	align-items:center;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
	background-image:url(./img/akashi_bridge.jpg);
}
.entry-header:before{
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:rgba(57, 121, 163, 0.75);
	background:-webkit-linear-gradient(left,rgba(31, 78, 121, 0.75),rgba(76, 157, 177, 0.75));
	background:linear-gradient(to right,rgba(31, 78, 121, 0.75),rgba(76, 157, 177, 0.75));
}
.entry-header .container{
	position:relative;
}
.entry-ttl{
	position:relative;
	line-height:1.6;
	margin:0;
	padding:0;
	border:0;
	margin:0 auto;
	color:#fff;
	text-shadow:3px 3px 10px rgba(57, 121, 163, 0.75);
}
.entry-ttl .en,.entry-ttl .jp{
	display:table;
	margin-left:auto;
	margin-right:auto;
}
.entry-ttl .en{
	font-size:16px;
	font-weight:500;
	font-family:var(--serifen);
	letter-spacing:1px;
}
.entry-ttl .jp{
	font-size:24px;
	margin-bottom:5px;
	font-weight:bold;
}
@media(min-width:768px){
	.entry-header{
		height:200px;
	}
	.entry-header .container {
		margin-left:auto;
	}
	.entry-ttl .en{
		font-size:18px;
	}
	.entry-ttl .jp{
		font-size:36px;
	}
}
@media(min-width:992px){
	.entry-header{
		height:250px;
	}
}
/* #404 page */
.notfound-siteContent .site-main p {
	margin-bottom:2rem;
}
/* #header */
.site-header,.header-contents{
	height:60px;
}
.header-contents {
	display: flex;
	position: relative;
}
.scrolled .header-contents{
	position: fixed;
	width:100%;
	z-index:2;
	background:#fff;
	top:0;
	left:0;
}
.header-contents .container {
	display: flex;
	align-items: center;
}
.site-title{
	line-height:1.7;
	margin:0;
	max-height:100%;
}
.siteTtlspan{
	color:var(--blue1);
	font-weight:bold;
	display:none;
}
.custom-logo-link img{
	width:130px;
	max-height:60px;
	object-fit:contain;
}
.mobopen{
	overflow:hidden;
	position: fixed;
	top: 5px;
	right: 5px;
	width: 50px;
	height: 50px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 9px;
	cursor: pointer;
	border: none;
	border-radius: 0;
	padding:0;
	background:rgba(255, 255, 255, 0);
}
.mobopen span{
	display:block;
	width:40px;
	height:3px;
	background:var(--gblue);
	transition:all 0.2s;
}
.mobopen span:nth-child(1){
	margin-left:7px;
}
.mobopen span:nth-child(3){
	margin-right:7px;
}
.open .mobopen span{
	opacity:0;
	-webkit-transform:translateX(20px);
	transform:translateX(20px);
}
.open .mobopen span:nth-child(2){
	transition-delay:.05s;
}
.open .mobopen span:nth-child(3){
	transition-delay:.1s;
}
#mobile-menu{
	display:block;
	background-color:var(--blue1);
	position:fixed;
	top:0;
	left:-110%;
	width:100%;
	height:100vh;
	transition:all 0.5s;
	padding:50px 20px 40px;
	z-index:3;
}
.open #mobile-menu{
	left:0;
}
.mobclose{
	position:absolute;
	top:10px;
	right:10px;
	width:50px;
	height:50px;
	background:transparent;
	padding:0;
	border-radius:0;
	border:none;
	background:#174066;
}
.mobclose span{
	position:absolute;
	display:block;
	top:50%;
	left:50%;
	width:45px;
	height:3px;
	background:#fff;
	transition:all .3s;
}
.mobclose span:nth-child(1),.mobclose span:nth-child(2){
	-webkit-transform:translate(-50%,-50%) rotate(0deg);
	transform:translate(-50%,-50%) rotate(0deg);
}
.open .mobclose span:nth-child(1){
	-webkit-transform:translate(-50%,-50%) rotate(45deg);
	transform:translate(-50%,-50%) rotate(45deg);
}
.open .mobclose span:nth-child(2){
	-webkit-transform:translate(-50%,-50%) rotate(-45deg);
	transform:translate(-50%,-50%) rotate(-45deg);
}
.site-mobile-menu{
	padding-left:0;
}
#mobile-menu li{
	list-style-type:none;
	border-bottom:1px solid rgba(255, 255, 255, 0.6);
}
#mobile-menu li.app_link{
	display:none;
}
#mobile-menu li a{
	display:block;
	color:#fff;
	padding:1rem;
}
#mobile-menu li a:hover,#mobile-menu li a:focus{
	color:#fff;
	opacity:0.8;
}
#site-navigation{
	display: none;
}
#mobile-menu .btnflx{
	margin-top:30px;
}
@media(max-width:599px){
	.btnflx .a_btn:nth-child(1){
		margin-bottom:20px;
	}
}
@media(min-width:400px){
	.btnflx .a_btn>a{
		width:100%;
	}
}
@media(min-width:600px){
	.btnflx{
		display:flex;
		justify-content:center;
		column-gap:1rem;
	}
	.btnflx>div{
		width:calc(50% - 0.5rem);
	}
	.site-title{
		font-size:15px;
		display:flex;
		align-items:center;
		column-gap:11px;
	}
	.siteTtlspan{
		display:inline;
	}
	.site-title br{
		display:none;
	}
}
@media(min-width:768px){
	.btnflx>div{
		width:300px;
	}
}
@media(min-width:992px){
	#mobile-menu,.mobopen{
		display: none;
	}
	.site-header,.header-contents{
		height:100px;
	}
	.header-contents .container{
		display:grid;
		grid-template-columns:3fr 2fr;
		grid-template-rows:60px 40px;
	}
	.custom-logo-link img {
		max-width:350px;
		max-height:70px;
	}
	.site-title{
		grid-column:1/2;
		grid-row:1/2;
	}
	.pc-btnflx{
		grid-column:2/3;
		grid-row:1/2;
		column-gap:3%;
		justify-content:center;
	}
	.pc-btnflx>.a_btn{
		width:min(48%, 180px);
	}
	.pc-btnflx .a_btn>a{
		padding:7px 1rem;
		font-size:15px;
		width:100%;
	}
	#site-navigation{
		display: block;
		grid-column:1/4;
		grid-row:2/3;
	}
	#pc-nav {
		display: flex;
		align-items: center;
		justify-content:center;
		column-gap:20px;
	}
	#pc-nav>li{
		text-align: center;
	}
	#pc-nav>li.app_link{
		display:none;
	}
	#pc-nav>li>a{
		font-family:var(--sansjp);
		font-weight:500;
		color:var(--blue1);
		display: block;
		font-size:15px;
		padding:5px 10px;
		position:relative;
	}
	#pc-nav>li>a::after{
		content:'';
		position:absolute;
		bottom:-2px;
		left:50%;
		-webkit-transform:translateX(-50%);
		transform:translateX(-50%);
		width:0;
		height:2px;
		background:var(--blue1);
		transition:all .3s;
		transform-origin:center top;
	}
	#pc-nav>li>a:hover::after,#pc-nav>li>a:focus::after{
		width:100%;
	}
}
@media(min-width:992px) and (max-width:1199px){
	.site-title br{
		display:inline;
	}
}
@media(min-width:1200px){
	.site-title{
		font-size:17px;
	}
}
body.no-sidebar #sidebar{
  display: none;
}
.notfound-siteContent .entry-content{
  padding-top:40px;
  padding-bottom:40px;
}
#breadcrumb {
	padding:10px 0;
}
#breadcrumb ul {
	display: flex;
	padding-inline-start: 15px;
	flex-wrap: wrap;
}
#breadcrumb ul li{
	list-style-type: none;
	padding:0 10px;
	position:relative;
}
#breadcrumb a, #breadcrumb ul li,#breadcrumb ul li:after{
  font-size: 13px;
  line-height:1.3;
}
#breadcrumb ul li:after {
	content:'>';
	position:absolute;
	right:-6px;
	top:0;
}
#breadcrumb ul li:last-child::after {
	display: none;
}
#breadcrumb a {
	color:#404040;
}
.page-section{
	padding:40px 0;
}
.detail-wrap{
	padding:30px 0;
}
@media(min-width:768px){
	.page-section{
		padding-top:60px;
		padding-bottom:60px;
	}
	#breadcrumb ul {
		padding-inline-start: 40px;
	}
}
.fade-in,.load-in {
	opacity:0;
	transition-duration:0.7s;
	transition-property:opacity, transform;
}
.fade-in.fade-in-up,.load-in.fade-in-up {
  -webkit-transform: translate(0,30px);
  transform: translate(0,30px);
}
.fade-in.fade-in-down,.load-in.fade-in-down{
  -webkit-transform: translate(0,-30px);
  transform: translate(0,-30px);
}
.fade-in.fade-in-left,.load-in.fade-in-left{
  -webkit-transform: translate(30px,0);
  transform: translate(30px,0);
}
.fade-in.fade-in-right,.load-in.fade-in-right{
  -webkit-transform: translate(-30px,0);
  transform: translate(-30px,0);
}
.scroll-in{
	opacity: 1!important;
  -webkit-transform: translate(0,0)!important;
  transform: translate(0,0)!important;
}
.singlehead {
	padding-bottom:2rem;
}
.pagination {
	justify-content: center;
}
.nav-links{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
}
.nav-links span,.nav-links a {
	display: block;
	padding:10px 18px;
	margin:0 5px;
	text-align: center;
	font-weight:bold;
}
.nav-links a {
	transition: all .3s;
	color:#fff;
	background:#777;
	text-decoration: none;
}
.nav-links span,.nav-links a:hover {
	background:#ccc;
	color:#555;
}
.nav-links a.next,.nav-links a.prev {
	background:transparent;
	color:#555;
	padding:0;
}
.nav-links a.next:hover,.nav-links a.prev:hover {
	filter:opacity(0.8);
	color:#555;
}
/*---- #top page ----*/
.hasbgimg,.hasbgimg .container{
	position:relative;
}
.secbgimg,.seccover{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.secbgimg{
	object-fit:cover;
}
.fv_sec{
	display:flex;
	justify-content:center;
	align-items:center;
	min-height:600px;
}
.fv_sec p{
	color:#fff;
}
.fvttl{
	font-size:20px;
	font-weight:600;
	margin-bottom:2rem;
}
.fvtheme{
	padding-bottom:2rem;
	margin-bottom:2rem;
	position:relative;
}
.fvtheme::after{
	content:'';
	position:absolute;
	bottom:0;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	width:80px;
	height:3px;
	background:var(--red1);
}
.fv_sec .seccover{
	background:rgba(57, 121, 163, 0.75);
	background:-webkit-linear-gradient(left,rgba(31, 78, 121, 0.75),rgba(76, 157, 177, 0.75));
	background:linear-gradient(to right,rgba(31, 78, 121, 0.75),rgba(76, 157, 177, 0.75));
}
.fv_sec .btnflx{
	margin-top:60px;
}
@media(min-width:400px){
	.fvttl{
		font-size:22px;
	}
}
@media(min-width:600px){
	.fv_sec .fvbox{
		text-align:center;
	}
	.fvttl .br1{
		display:none;
	}
}
@media(min-width:768px){
	.fv_sec{
		min-height:668px;
	}
	.fv_sec p{
		font-size:18px;
		font-weight:500;
	}
	.fv_sec p.fvttl{
		font-size:30px;
		font-weight:600;
	}
}
@media(min-width:992px){
	.fv_sec p{
		font-size:20px;
	}
	.fv_sec .a_btn>a{
		font-size:18px;
	}
	.fv_sec p.fvttl{
		font-size:40px;
	}
}
@media(min-width:1200px){
	.fv_sec p.fvttl{
		font-size:46px;
	}
}
/* #top_gre_sec */
.top_gre_sec .seccover{
	background:rgba(235, 244, 251, 0.8);
	background:-webkit-linear-gradient(left,rgba(235, 244, 251, 0.8),rgba(230, 249, 254, 0.85));
	background:linear-gradient(to right,rgba(235, 244, 251, 0.8),rgba(230, 249, 254, 0.85));
}
.top_gre_txt{
	margin-bottom:40px;
}
.top_gre_txt p{
	margin-bottom:1rem;
}
.top_gre_txt p:last-child{
	margin-bottom:0;
}
@media(min-width:992px){
	.top_gre_txt p{
		font-weight:500;
	}
}
/* #program_sec */
.bl_str{
	font-weight:bold;
	color:var(--blue1);
}
.program_sec p{
	margin-bottom:10px;
}
.pro_dtl{
	margin-top:2rem;
	background:var(--pale2);
	padding:30px 20px;
}
@media(min-width:768px){
	.pro_dtl{
		padding:30px;
	}
	.program_sec{
		text-align:center;
	}
}
/* #howto_sec */
.howto_sec{
	background:var(--pale3);
}
.whbox{
	padding:30px 20px;
	background:#fff;
	box-shadow:5px 10px 15px rgba(0, 0, 0, 0.1);
}
.sqCheck{
	padding-left:0;
	position:relative;
	list-style:none;
}
.sqCheck>li{
	padding-left:21px;
	position:relative;
	margin-bottom:1rem;
}
.sqCheck>li::before{
	color:var(--gblue);
	content:'\f14a';
	position:absolute;
	font-family:var(--fontawesome);
	font-weight:700;
	top:1px;
	left:0;
}
.ulFee{
	padding-left:0;
	list-style:none;
}
.ulFee>li{
	padding-left:20px;
	position:relative;
	font-weight:500;
	margin-bottom:1rem;
}
.ulFee>li::before{
	content:'';
	position:absolute;
	top:11px;
	left:0;
	width:14px;
	height:14px;
	border-radius:50%;
	background:var(--blue2);
}
.ulFee .fee{
	color:var(--blue1);
	font-weight:bold;
	font-size:20px;
}
.ulFee .fee_small{
	margin-left:5px;
	font-size:14px;
	font-family:var(--sansjp);
	font-weight:400;
	color:var(--blue1);
}
.ulFee>li .add{
	font-weight:400;
	font-size:15px;
	display:block;
}
.howto_sec .sqCheck,.howto_sec,.ulFee{
	margin-bottom:40px;
}
.howto_sec .ulFee{
	margin-top:1rem;
}
@media(min-width:500px){
	.ulFee>li .add{
		display:inline;
		margin-left:10px;
	}
}
@media(min-width:600px){
	.sqCheck>li{
		display:inline-block;
		margin-right:40px;
	}
	.sqCheck>li:last-child{
		margin-right:0;
	}
}
@media(min-width:768px){
	.whbox{
		padding:40px;
	}
	.ulFee>li{
		display:inline-block;
		margin-right:40px;
	}
	.ulFee>li:last-child{
		margin-right:0;
	}
}
@media(min-width:992px){
	.ulFee .fee{
		font-size:24px;
	}
	.ulFee>li::before{
		top:15px;
	}
}
/* #endai_sec */
.endailead{
	margin-bottom:40px;
}
.borderbox{
	padding:30px 20px;
	background:var(--pale2);
	border:2px solid var(--blue2);
	border-radius:10px;
}
.endaiinr{
	margin-bottom:40px;
}
.endaidt{
	display:flex;
	align-items:center;
	column-gap:12px;
	color:var(--blue1);
	font-size:20px;
	font-weight:700;
	margin-bottom:1rem;
}
.endaidt i{
	color:var(--gblue);
}
.ularrow_r{
	padding-left:0;
	list-style:none;
}
.ularrow_r>li{
	padding-left:20px;
	position:relative;
	font-weight:500;
	margin-bottom:1rem;
}
.ularrow_r>li::before{
	color:var(--red1);
	content:'\f105';
	position:absolute;
	font-family:var(--fontawesome);
	font-weight:700;
	top:1px;
	left:0;
}
.endaisum{
	margin-bottom:30px;
}
@media(min-width:768px){
	.borderbox{
		padding:40px;
	}
}
@media(min-width:992px){
	.endaiFlx{
		display:flex;
		flex-wrap:wrap;
		column-gap:4%;
	}
	.endaiinr:nth-of-type(1){
		width:40%;
	}
	.endaiinr:nth-of-type(2){
		width:56%;
	}
	.endaisum{
		text-align:center;
	}
	.ularrow_r>li{
		display:inline-block;
		margin-right:50px;
	}
}
@media(min-width:1200px){
	.endailead{
		text-align:center;
	}
}
/* #acc_sec */
.acc_sec{
	background:var(--pale2);
}
.accadr{
	margin:1rem 0 40px;
}
.access-title .fa-solid{
  margin-right: .5em;
  color: #1F4E79;
  font-size: 1.05em;
}
.access-list {
  max-width: 900px;
  margin: 0 auto;
}
.access-card {
  background:var(--pale3);
  padding: 18px;
  border-radius: 6px;
  margin-bottom: 24px;
  box-shadow: 0 4px 12px rgba(17, 48, 77, 0.2);
}
.access-title {
  font-size:1rem;
  color: #1f4e79;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
	font-family:var(--sansjp);
	font-weight:bold;
	font-size:18px;
}
.access-steps {
  padding-left: 1.2em;
}
.access-steps li {
	font-family:var(--sansjp);
  margin-bottom: 6px;
  line-height: 1.6;
	font-size:15.5px;
}

.access-time {
  margin-top: 8px;
  font-weight: 600;
}
@media(min-width:768px){
  .access-title {
    font-size:1.05rem;
  }
  .access-card {
  	padding: 24px;
  }
	.acc_sec .whbox .bl_str:first-of-type{
		font-size:17px;
	}
	.acc_sec .accadr br{
		display:none;
	}
}
@media(min-width:992px){
	.acc_sec .whbox .bl_str,.acc_sec .whbox .accadr{
		text-align:center;
	}
}
/* #sponsor_sec */
.ulsponsor{
	padding-left:0;
	list-style:none;
	display:flex;
	gap:2rem 4%;
	flex-wrap:wrap;
}
.ulsponsor>li{
	width:47%;
}
.ulsponsor a{
	display:block;
}
.splogo{
	height:120px;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	margin-bottom:1rem;
}
.splogo img{
	width:160px;
	max-height:100%;
	object-fit:contain;
}
.spTtl{
	font-size:15px;
	text-align:center;
}
.ulsponsor a:hover,.ulsponsor a:focus{
	opacity:0.8;
}
.splead{
	margin-bottom:2rem;
}
@media(min-width:500px){
	.splead{
		text-align:center;
	}
}
@media(min-width:768px){
	.ulsponsor>li{
		width:30%;
	}
}
@media(min-width:992px){
	.ulsponsor>li{
		width:22%;
	}
}
/* #apply_sec */
.apply_sec,.contact-siteContent{
	background:#E7EFF3;
}
.apply_sec .whbox{
	max-width:950px;
	margin:0 auto;
}
.formlead{
	margin-bottom:40px;
}
.form_add{
	margin:40px auto 0;
	max-width:950px;
	padding:30px 20px;
	background:#fafafb;
	box-shadow:5px 10px 15px rgba(0, 0, 0, 0.1);
}
.form_add p{
	color:#4a5669;
	font-size:15px;
}
.wpcf7Formwrap,.wpcf7Formwrap p{
	font-family:var(--sansjp);
}
@media(min-width:768px){
	.form_add{
		padding:30px 40px;
	}
}
@media(min-width:992px){
	.apply_sec .whbox{
		padding:50px;
	}
	.formlead{
		text-align:center;
	}
}
/*---- #greeting page ----*/
.greeting_sec{
	padding-top:0;
}
.greeting_sec.sec1{
	padding-top:40px;
}
.greeting_sec .line{
	margin-top:40px;
	width:100%;
	height:1px;
	background:#ccd6e0;
}
.greeting_sec:last-of-type{
	border-bottom:none;
}
.gre_detail p{
	margin-bottom:1rem;
}
.gre_detail p:last-child{
	margin-bottom:0;
}
.chairmanImg{
	text-align:center;
	margin-bottom:24px;
}
.chairmanImg img{
	width:230px;
	object-fit:contain;
	box-shadow:5px 10px 15px rgba(0, 0, 0, 0.1);
}
.greeting_sec ul{
	padding-left:16px;
}
.greeting_sec>li{
	margin-bottom:10px;
}
.chairmanName{
	font-size:15px;
	font-weight:700;
}
.chairmanName span{
	color:var(--blue1);
	font-size:17px;
}
@media(min-width:768px){
	.greeting_sec.sec1{
		padding-top:60px;
	}
	.greeting_sec .line{
		margin-top:60px;
	}
	.greeting_sec .flx{
		display:flex;
		justify-content:space-between;
		flex-direction:row-reverse;
		align-items:flex-start;
	}
	.chairmanImg{
		width:30%;
		margin-bottom:0;
	}
	.greeting_sec .flx .gre_detail{
		width:65%;
	}
	.chairmanName{
		text-align:right;
	}
}
@media(min-width:992px){
	.greFlx .gre_detail{
		width:510px;
	}
	.greeting_sec .flx .gre_detail{
		width:calc(95% - 250px);
	}
	.chairmanImg{
		width:250px;
		margin-bottom:0;
	}
	.chairmanImg img{
		width:100%;
	}
}
/*---- #contact page,privacy page ----*/
.wpcf7-turnstile{
	display:flex;
	justify-content:center;
	margin-bottom:20px;
}
.pri_sec p{
	margin-bottom:1rem;
}
.pri_sec p:last-child{
	margin-bottom:0;
}
.pri_sec ul{
	margin-top:1rem;
	padding-left:16px;
}
.pri_sec li{
	margin-bottom:10px;
}
.pri_sec h2{
	line-height:1.6;
}
.pri_sec a{
	color:var(--blue1);
	font-weight:500;
	display:inline-block;
	padding:0 3px 2px;
	border-bottom:1px solid var(--blue1);
}
.pri_sec a:hover{
	opacity:0.8;
	border-color:rgba(255, 255, 255, 0);
}
@media(min-width:992px){
	.pri_sec h2{
		font-size:24px;
	}
}
/*---- #footer ----*/
.site-footer{
	background:var(--blue1);
	color:#fff;
	padding:40px 0;
}
.ftrwidget{
	margin-bottom:40px;
}
.site-footer p,.site-footer a{
	color:#fff;
}
.f_siteTtl{
	margin-bottom:24px;
	font-size:20px;
	font-weight:600;
}
.site-footer a:hover,.site-footer a:focus{
	opacity:0.8;
	color:#fff;
}
.ftrgmap,.ftrjcname a{
	display:inline-flex;
	align-items:center;
	column-gap:10px;
	padding-bottom:2px;
	border-bottom:1px solid #fff;
}
.ftrgmap:hover,.ftrjcname a:hover,.ftrgmap:focus,.ftrjcname a:focus{
	border-color:transparent;
}
.site-footer-menu{
	padding-left:0;
	list-style:none;
}
.site-footer-menu>li{
	margin-bottom:1rem;
	font-family:var(--sansjp);
}
.site-footer-menu>li>a{
	display:inline-block;
	position:relative;
	padding-bottom:2px;
}
.site-footer-menu>li>a::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#fff;
	transition:all .3s;
}
.site-footer-menu>li>a:hover::after,.site-footer-menu>li>a:focus::after{
	width:100%;
}
.ftrjcname a{
	font-family:var(--sansjp);
}
.ftrFlx{
	padding-bottom:40px;
	margin-bottom:30px;
	border-bottom:1px solid rgba(255, 255, 255, 0.6);
}
.ftrnav2{
	padding-left:0;
	list-style:none;
	margin-bottom:0;
}
.ftrnav2>li{
	font-size:14px;
	margin-bottom:1rem;
	font-family:var(--sansjp);
}
.ftr-copy{
	margin-top:40px;
	font-size:13px;
	text-align:center;
	font-weight:400;
	font-family:var(--sansen);
	opacity:0.8;
}
@media(max-width:439px){
	.f_siteTtl br{
		display:none;
	}
}
@media(min-width:380px){
	.site-footer-menu,.ftrnav2{
		display:flex;
		flex-wrap:wrap;
		column-gap:2%;
	}
	.site-footer-menu>li,.ftrnav2>li{
		width:49%;
	}
	.ftrnav2>li{
		margin-bottom:0;
	}
}
@media(min-width:768px){
	.f_siteTtl{
		font-size:22px;
	}
	.site-footer-menu{
		column-gap:40px;
	}
	.ftrnav2{
		column-gap:70px;
	}
	.site-footer-menu>li,.ftrnav2>li{
		width:fit-content;
		display:inline-block;
	}
}
@media(min-width:992px){
	.ftrFlx{
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
	}
	.ftrwidget{
		width:410px;
		margin-bottom:0;
	}
	.site-footer-nav{
		width:calc(100% - 500px);
	}
	.ftrnav2{
		justify-content:center;
	}
	.ftrnav2>li{
		font-size:15px;
	}
}
@media(min-width:1200px){
	.site-footer-nav{
		width:500px;
	}
}