@charset "UTF-8";

/*==========基本設定==========*/

	* {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 0;
		padding: 0;
	}

	html,body{
		margin: 0;
		padding: 0;
		font-size: 62.5%;
		font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif",'Noto Sans JP', sans-serif;
		background-color: #F8F8F8;
    }

    li, .list-none{
        list-style: none;
    }

    a{
        text-decoration: none;
    }

    .txt_center{
        text-align: center;
    }

    .txt_left{
        text-align: left;
    }

    .txt_right{
        text-align: right;
    }

    .txt_under{
        text-decoration: underline;
    }

	.pc{
      display:block;
    }

    .sp{
      display:none;
    }

    .tb{
        display: none;
    }

    .pc_br{
	    display:inline;
    }

    .sp_br{
        display:none;
    }

/*==========画像指定==========*/
	img{
		display: block;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}

/*==========画像指定==========*/

.blue_1{
	color: #0C92F4;
}

.blue_2{
	color: #0E6197;
}

/*==========幅指定==========*/
    #page-box{
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .w-90{
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }

    .w-80{
        width: 80%;
        margin: 0 auto;
        padding: 0;
    }

    .w-70{
        width: 70%;
        margin: 0 auto;
        padding: 0;
    }

/*==========文字指定==========*/
    p,a,dt,dd,th,td,li,ul{
        font-family: 'Noto Sans JP', sans-serif;
        font-weight:400;
        line-height:2em;
        color:#333333;
        font-size: 1.4rem;
        margin: 0;
        padding: 0;
        letter-spacing: .1em;
    }

	h2{
		font-size: 3rem;
		margin: 0 0 2em;
		letter-spacing: .1em;
		color: #0E6197;
		font-family: zen-kaku-gothic-new, sans-serif;
		font-weight: 600;
		font-style: normal;
	}

	h3{
        font-size: 2rem;
        margin: 0;
		color: #333333;
        font-style: normal;
        letter-spacing: .1em;
        font-family: zen-kaku-gothic-new, sans-serif;
    }

	h4{
        margin: 0;
        font-weight: 600;
        font-style: normal;   
        letter-spacing: .1em;
    }

	.font-30{
        font-size: 3rem;
        margin: 0;
        font-style: normal;
    }

	.font-24{
        font-size: 2.4rem;
        margin: 0;
        font-weight: 600;
        font-style: normal;
    }

	.font-20{
        font-size: 2rem;
        margin: 0;
        font-weight: 600;
        font-style: normal;
    }
	
	 .font-18{
        font-size: 1.8rem;
        margin: 0;
        font-weight: 600;
        font-style: normal;
    }

    .font-16{
        font-size: 1.6rem;
        margin: 0;
        font-style: normal;
    }
	
	.font-14{
        font-size: 1.4rem;
        margin: 0;
    }
	
	.font-12{
        font-size: 1.2rem;
        margin: 0;
        font-style: normal;
    }
	
    .font-10{
        font-size: 1rem;
        margin: 0;
        font-style: normal;
    }

	.txt_left{
        text-align: left;
    }

    .txt_right{
        text-align: right;
    }

    .txt_center{
        text-align: center;
    }

    .bold{
        font-weight: bold;
    }

	.txt-white{
		color: #FFFFFF;
	}

	.Zen-Kaku-Gothic-New{
		font-family: zen-kaku-gothic-new, sans-serif;
		font-weight: 700;
		font-style: normal;
	}

	.uniquifier{
	  font-family: "Noto Sans JP", sans-serif;
	  font-optical-sizing: auto;
	  font-weight: 500;
	  font-style: normal;
	}

/*==========箱の並びの設定==========*/
    .box,.box-sp{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .box-two{
        width: 49%;
    }

    .box-three{
        width: 30%;
    }

    .box-four{
        width: 23.5%; 
    }

    .one-two{
        width: 66%;
    }

    .one-three{
        width: 74.5%;
    }

/*==========コンテンツ==========*/
	.content{
		width: 80%;
		margin: 0 auto;
	}

	#sec01, #sec02, #sec03, #sec04, #sec05, #sec06{
		margin-bottom: 10em;
	}

	.container {
	  width: 80%;
	  max-width: 1200px;
	  margin: auto;
	}

/*==========header==========*/

header{
	margin-bottom: 3em!important;
}

header .box{
    justify-content: flex-end;
    flex-wrap: unset;
    align-items: center;
}

#header{
    z-index: 1;
    width: 90%;
    margin: 0 auto;
    padding: 2em 0;
}

header .box{
	flex-direction: row;
}

.header_box img{
    margin: 0;
    width: 100%;
}

.home .header_box img{
    width: 100%;
}


#gnavi li{
    padding-left: 2em;
    text-transform: right;
}

#gnavi li a{
    display: block;
    text-align: right;
    font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 500;
    font-style: normal;
}

#gnavi li a:hover{
	color: #0C92F4;
	transition: 1s;

}

#menu-gnavi{
    display: flex;
}

.nav_contact a{
	background-color: #0E6197;
	color: white;
	padding: 0.7em 1.5em;
	border-radius: 2px;
	border: 2px solid #0E6197;
}

.nav_contact a:hover{
	color: #0E6197!important;
	background-color: white;
	border: 2px solid #0E6197;
	border-radius: 2px;
		padding: 0.7em 1.5em;
	transition: 1s;
}

/*==========footer==========*/
footer{
	background-color: #0E6197;
	border-radius: 50px 50px 0 0;
	padding: 10em 0 3em;
}

footer img{
	margin: 0 0 1em;
}

footer .left .Zen-Kaku-Gothic-New{
	font-weight: 300;
}

footer .footer_link{
	margin-top: 1em;
}

footer a{
	color: white;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 300;
}

footer .left a::before{
	content: url("../img/footer_link.svg");
	padding-right: .5em;
	vertical-align:middle;
}

footer .box{
	justify-content: flex-start;
	
}

footer .right a{
	padding-right: 1em;
	font-weight: 500;
}

footer .w-80{
	margin-bottom: 2em;
}

/*==========btn==========*/
.btn{
	border: none;
	text-decoration: underline;
	font-size: 1.2rem;
	text-align: right;
	
}

.btn:hover{
	opacity: 0.7;
	transform: 3s;
}

.btn::after{
	content: url("../img/btn.svg");
	padding-right: .5em;
	vertical-align:middle;
}

/*==========MV==========*/
@keyframes infinity-scroll-left {
from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}
}

.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}
.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}
.scroll-infinity__list--left {
	animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
	width: calc(100vw / 2);
	margin-right: 2.5em;
}
.scroll-infinity__item>img {
	width: 100%;
}

.mv{
	margin-bottom: 10em;
}

/*==========TOP==========*/
.home #sec01 h2{
	margin-bottom: 0.5em;
}

.home #sec01 .box{
	margin-bottom: 2em;
}

.home #sec01 p{
	margin-bottom: 2em;
}

.home #sec02 {
	background-color: #E1EAF1;
	padding: 10em 0;
	margin-bottom: 0;
}

.home #sec02 .thum_box,
.program .thum_box,
.project .thum_box{
	margin-bottom: 1em;
}

.project .thum_box{
	aspect-ratio: 630 / 460;
}
.project .thum_box img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home #sec02 .cat,
.program .cat,
.project .cat{
	color: #0E6197;
	font-weight: 500;
}

.home #sec02 .title,
.program .title,
.project .title{
	font-weight: 500;
}

.home #sec02 ul,#sec03 .news_box{
	margin-bottom: 3em;
}

.home #sec02 .btn::after{
	content: url("../img/btn_2.svg");
	padding-right: .5em;
	vertical-align:middle;
}

/* パララックス背景のみのセクション */
.parallax-section{
  height: 70vh;
  /*background-image: url('../img/top_bg.jpg'); */
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 10em;
}
#parallax-fixed-bg { 
	background: url('../img/top_bg.jpg') no-repeat center center;
	background-size:cover;
	height:calc(100vh - 20px);
	position:fixed !important;
	width:100%;
	z-index:0;
	top:20px;
}
#parallax-fixed-bg.hide-bg{
	background-image: none !important;
}
.site-content{
	z-index: 1;
	position: relative;
}
.site-content .parallax-content{
	background-color: #F8F8F8;
} 
.home footer{
	margin-top: -50px;
}
.w-70.parallax-content{
	width: 100%;
	padding-inline: 15%;
	padding-bottom: 50px;
}
.w-70.parallax-content #sec03{
	padding-bottom: 10em;
	padding-top: 64px;
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.w-70.parallax-content{
		padding-inline: 0;
	}
	.w-70.parallax-content #sec03{
		padding-top: 36px;
	}
}

.home #sec03 li{
	background-color: white;
	margin-bottom: 1em;
	padding: 1em;
}

.home #sec03 .left{
	width: 30%;
	margin-bottom: 0;
}

.home #sec03 .right{
	width: 69%;
}

.home #sec03 .box{
	justify-content: flex-start;
	align-items: center;
}

.ymd{
	font-weight: 500;
	padding-right: .5em;
}

.cat{
	color: #9E9E9E;
	font-weight: 200;
}

/*==========ABOUT US==========*/
.about #sec02 .box-three{
	background-color: white;
	padding: 3em 1em;
	border-radius: 5px;
}

.about #sec02 .box-three a{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-style: normal;
	text-align: center;
	display: block;
	font-weight: 500;
}

.about #sec02 .box-three a::after{
	content: url("../img/arrow.svg");
	padding-left:.5em;
	vertical-align:middle;
}

.about #sec02 .box-three:hover{
	opacity: 0.5;
	transition: 1s;
}

.about .content {
	margin-bottom: 20em;
}


/*==========program==========*/

.key{
	background-color: #E1EAF1;
	padding: 7em 0 9em;
	margin-bottom: 15em;
}

.key h2{
	margin-bottom: 0;
	text-transform: uppercase;
}

.midashi {
  display: flex;
  align-items: center;
  font-weight: bold;
  position: relative;
  padding-left: 10px;
}


.dot {
  width: 12px;
  height: 12px;
  background-color: #007bff; /* 青い色 */
  border-radius: 50%;
  margin-right: 10px;
}

.sub{
	margin-bottom: 2em;
}

.program .content .box,
.project .content .box{
	justify-content: flex-start;
	gap: 5%;
}

.program .content .box-three,
.project .content .box-three{
	width: calc((100% - 10%) / 3); 
	margin-bottom: 2em;
}


/*==========用語集==========*/
.terminology h3{
	font-size: 1.6rem;
}

.terminology h3::before,
.terminology_detail .title_box h2::before{
	content: url("../img/question.svg");
	padding-right: .5em;
	vertical-align:middle;
}

.terminology .content li{
	border-bottom: solid 1px #E1EAF1;
	padding: 0.8em;
	margin-bottom: 0.8em;
}

.terminology .content ul{
	margin-bottom: 8em;
}


/*==========プロジェクト・視察・講座　詳細ページ==========*/
.single .thum_box, .detail .thum_box,
.news_detail .thum_box{
	width: 50%;
	margin: 0 auto;
	margin-bottom: 7em;
}

.single header, .detail header,
.terminology_detail header,
.news_detail header{
	margin-bottom: 10em;
}

.single .cat_title_box h2, .detail .cat_title_box h2,
.terminology_detail .title_box h2,
.news_detail .cat_title_box h2{
	color: #333333;
}

.single .cat_title_box, .detail .cat_title_box,
.terminology_detail .title_box,
.news_detail .cat_title_box{
	margin-bottom: 3em;
}

.single .post_area p, .detail .post_area p,
.terminology_detail .post_area p,
.news_detail .post_area p{
	margin-bottom: 2em;
}

.single .post_area h2, .detail .post_area h2,
.terminology_detail .post_area h2,
.news_detail .post_area h2{
	font-size: 2rem;
	background-color: #E1EAF1;
	margin-bottom: 1em;
	padding: 0.5em;
	border-left: 5px solid #0C92F4;
}

.single .post_area h3, .detail .post_area h3,
.terminology_detail .post_area h3,
.news_detail .post_area h3{
	font-size: 1.8rem;
	border-bottom: 2px solid #0C92F4;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}

.single .post_area h4, .detail .post_area h4,
.terminology_detail .post_area h4,
.news_detail .post_area h4{
	font-size: 1.6rem;
	color: #0C92F4;
	margin-bottom: 0.7em;
}

.single .post_area img, .detail .post_area img,
.terminology_detail .post_area img,
.news_detail .post_area img{
	margin-bottom: 3em;
}

.single .post_area, .detail .post_area,
.terminology_detail .post_area,
.news_detail .post_area{
	border-bottom: solid 1px #BBD3E8;
	margin-bottom: 5em;
}

.single .content, .detail .content,
.terminology_detail .content,
.news_detail .content{
	margin-bottom: 15em;
}

/*==========お知らせ==========*/
.news .news_box li{
	background-color: white;
	margin-bottom: 1em;
	padding: 1em;
}

.news .news_box .left{
	width: 30%;
	margin-bottom: 0;
}

.news .news_box .right{
	width: 69%;
}

.news .news_box .box{
	justify-content: flex-start;
	align-items: center;
}

.ymd{
	font-weight: 500;
	padding-right: .5em;
}

.cat{
	color: #9E9E9E;
	font-weight: 200;
}

.news_detail .cat_title_box .box{
	justify-content: flex-start;
}

/*==========お問い合わせ==========*/
.contact-form {
  max-width: 800px;
  margin: auto;
}

.form-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 5em;
}

.form-group label {
  width: 180px;
  padding-top: 8px;
  font-size: 1.4rem;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-style: normal;
}

.required {
  color: #0C92F4;
  margin-left: 4px;
}

.form-group input[type="text"],
.form-group input[type="tel"],
.form-group input[type="email"],
.form-group textarea {
  flex: 1;
  padding: 1em;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
	color: #333333;
}

textarea {
  height: 200px;
  resize: vertical;
}

.textarea{
	margin-bottom: 5em;
	border-bottom: solid 1px #99A9B0;
	    padding-bottom: 5em;
}

.radio-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 20px;
}

.form-group-radio .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 20px;
  width: 380px;
}

.form-group-radio p{
	width: auto;
}

@media all and (min-width:768px){
.form-group p{
	display: flex;
	align-items: flex-start;
	width: 100%;
}
.form-group span {
	flex: 1;
}
.form-group span input[type="text"],
.form-group span input[type="tel"],
.form-group span input[type="email"],
.form-group span textarea {
  flex: 1;
  padding: 1em;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
	color: #333333;
	width: 100%;
}
}
@media screen and (max-width: 1024px){
	#parallax-fixed-bg { 
		background-image: url('../img/tab-top-bg.jpg');
	}
	.parallax-section{
		height: 30vh;
	}
}

.radio-group label {
  font-weight: normal;
}

.privacy-section {
  margin-top: 30px;
}

.privacy-section label {
	display: block;
	margin-bottom: 6px;
	font-size: 1.4rem;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-style: normal;
}

.privacy-box {
  background: white;
  border: 1px solid #ccc;
  padding: 10px;
  height: 200px;
  overflow-y: auto;
  margin-bottom:2em;
  font-size: 14px;
}

.privacy-box h3{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 25px;
	letter-spacing: 0px;
}

.privacy-box p {
    margin-bottom: 15px;
}
.privacy-box p a{
	text-decoration: underline;
}

.privacy-check {
  display: flex;
  align-items: center;
  gap: 8px;
	text-align: center;
}

.privacy-check input{
	font-size: 1.4rem;
}

.form-submit {
  text-align: center;
  margin-top: 20px;
}

.submit-btn {
  background: #0E6197;
  color: #fff;
  border: none;
  padding: 12px 30px;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
}

.submit-btn:hover {
  opacity: 0.7;
	transition : 1s;
}

input::placeholder,
textarea::placeholder {
	color: #99A9B0; /* プレースホルダーの色 */
	font-family: zen-kaku-gothic-new, sans-serif;
	font-style: normal;
}

.contact #sec02{
	margin-bottom: 15em;
}

.footer-navigation .nav_contact a {
    background-color: transparent;
    color: white;
    padding: 0;
    border-radius: 0;
    border: 0px solid #0E6197;
}
.footer-navigation .nav_contact a:hover{
	color: white !important;
	background-color: transparent;
	border: 0px solid #0E6197;
	border-radius: 0px;
	padding: 0;
	transition: none;
}
.no-page-found{
	padding: 100px 0;
}
#searchform{
	padding-block: 25px;
	font-size: 14px;
}
#searchform h2{
	padding-bottom: 10px;
}
.thanks-page h2{
	margin: 0;
	padding: 0;
}
.thanks-page .thanks-page-inner{
	/* padding-block: 100px; */
	text-align: center;
}
body {
    margin-top: 10px;
}
.title_box h3, .title_box h3 a{
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    line-height: 2em;
    color: #333333;
    font-size: 1.4rem;
    margin: 0;
    padding: 0;
    letter-spacing: .1em;
}
.green-park-btn {
  background: #0E6197;
  color: #fff;
  border: none;
  padding: 12px 30px;
  font-size: 16px;
  border-radius: 0px;
  cursor: pointer;
}
.green-park-btn:hover {
  opacity: 0.7;
	transition : 1s;
}
.thanks-page .green-park-btn {
	padding: 10px 30px 11px;
    margin-top: 29px;
    display: inline-block;
	min-width: 170px;
	margin-bottom: 120px;
}
.thanks-page-inner p{
	font-weight: 500;
}
h3.font-14{
	white-space: nowrap;       /* keep in one line */
	overflow: hidden;          /* hide extra text */
	text-overflow: ellipsis;   /* add … at the end */
	display: block;
	max-width: 100%;  
}
ul.box .thum_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

ul.box .thum_box {
    aspect-ratio: 342 / 256;
}
.archive-main footer{
	margin-top: 50px;
}
header.header {
    position: sticky;
    top: 0;              /* required for sticky */
    z-index: 9999;       /* make sure it stays above other content */
    background: #F8F8F8;    /* prevent content showing through */
}
.box-permalink, .terminology a, footer a{
	transition: all .3s ease-in;
}
.box-permalink:hover, .terminology a:hover, footer a:hover{
	opacity: 0.7;
	transition: all .3s ease-out;
}
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;	
}
.pagination a, .pagination .current{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0px;
	color: #000000;
	padding-inline: 7px;
}
.pagination .current{
	color: #0C92F4;
}
.pagination .nav-links {
	padding-top: 58px;
    padding-inline: 25px;
}
.pagination a:last-child, .pagination .current:last-child {
    padding-right: 0;
}
.pagination a:first-child, .pagination .current:first-child {
    padding-left: 0;
}
.pagination a.next.page-numbers, .pagination a.prev.page-numbers {
    text-indent: -9999px;
    display: inline-flex;
    position: relative;
	right: -25px;
}
.pagination a.prev.page-numbers {
	right: auto;
	left: -25px;
}
.pagination a.next.page-numbers::after, .pagination a.prev.page-numbers:after {
    content: '';
	background-image: url('../img/right-arrow.svg');
	position: absolute;
	right: 0;
	top: 50%;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
}
.pagination a.prev.page-numbers:after {
	background-image: url('../img/left-arrow.svg');
	right: auto;
}
span.wpcf7-spinner {
    display: table;
    margin: 5px auto;
}

@media all and (max-width: 1024px){
	.parallax-section {
		/*background-image: url('../img/tab-top-bg.jpg');*/
		height: 40vh;
	}
	
}
@media all and (max-width: 991px){
	body {
		margin-top: 50px;
	}
	.thanks-page .green-park-btn {
		margin-bottom: 80px;
	}
	header.header {
		position: fixed;
		top: 0px;
		min-height: 50px;
		width: 100%;
	}
	header.header .logo{
		padding-top: 10px;
	}
	header.header {
		background: #ffffff;
	}
	.box .box-three{
		padding-bottom: 15px;
	}
	h3.font-14 {
		font-size: 1.4rem;
		margin: 0;

		display: -webkit-box;
		-webkit-line-clamp: 2;       /* limit to 2 lines */
		-webkit-box-orient: vertical;
		overflow: hidden;            /* required */
		text-overflow: ellipsis;     /* adds "..." */
		white-space: normal;         /* allow wrapping */
	}
	ul.box .thum_box {
		aspect-ratio: 337 / 246;
	}
}


/*==========追記==========*/

.single .post_area a {
	text-decoration: underline;
}

.single .post_area ul li{
  list-style-type: disc;
  list-style-position: inside;	
}

.single .post_area ul li::marker {
  color: #0C92F4;
}

.page-template-page-news .content{
	margin-bottom: 15em;
}

.grecaptcha-badge { visibility: hidden; }
