@charset "utf-8";
/* CSS Document */
.csoon{
	margin: 100px 0 300px;
	text-align: center;
}
.csoon h2{
	font-size: xx-large;
	margin: 0 0 30px;
}
.csoon p{
	font-size: x-large;
}

#page .top{
	height: 260px;
	border-bottom: 1px solid #ddd;
	margin: 0 0 60px; 
	position: relative;
}
#page .top .img{
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../img/page/backimg.png);
  background-size: cover;
  background-position: center;
  padding: 259px 0 0 0;
  transform: scale(-1, 1);
}
#page .top .text{
	width: 100%;
  position: absolute;
  top: 40%;
  left: 0;
  margin:0;
  padding:0;	
  z-index: 1;
}
#page.company .box{
	margin: 0 0 100px;
}
#page.company .box dl{
  margin: 0 0 30px;	
}
#page.company .box dl dt{
  width: 100%;
  padding: 10px 0 15px;
  margin: 0 0 20px;
  border-bottom: 1px solid #dfdfdf;		
  font-weight: bold;
}
#page.company .box dl dd{
  padding: 0;
  margin: 0 0 30px;	
}

#page.about .text-box{
	max-width: 600px;
	margin: 60px auto 100px;	
}
#page.about .text-box .en,
#page.about .message .en{
	text-align: center;
	color: #AD8146;
	font-size: xx-large;
}
#page.about .message{
	max-width: 800px;
	margin: 0 auto 100px;
}
#page.about .message h3{
	position: relative;
	text-align: center;
	margin: 0 0 12px;
	font-size: 20px;
}
#page.about .message h3 span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 1.5em;
    padding: 0 1em;
    background-color: #fff;
    text-align: center;
}
#page.about .message h3::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-top: 1px solid #DAA520;
    border-bottom: 1px dotted #DAA520;
}

#page.about .message p{
	margin: 0 0 50px;
}

#page.about .message .text{
	margin: 0 0 50px;
}
#page.about .message .en span{
	font-size: x-large;	
	display: block;
}
#page.about .message .name{
	text-align: center;
}
#page.about .message .name span{
	font-size: x-large;	
	display: block;	
}

#page.about .text-box h2{
	max-width: 80%;
	margin: 20px auto 40px;;		
}
#page.about .message .img{
	max-width: 260px;
	margin: 20px auto 40px;
}
#page.about .message .img.a02{
	max-width: 600px;
	margin: 20px auto 40px;
}
#page.about .message .text{
	text-align: left;
}







#page.error .text h2{
	margin: 0 0 20px;
}

#page.error .text{
	margin: 0 0 30px;
}
#page.error .top-back a{
	color: blue;
  text-decoration: underline;
}
#page.error .top-back a:hover{
	color: #333;
  text-decoration: none;
}



.page-content .form p.text{
	text-align: center;
}
.page-content .form .box{
	margin: 50px 0 100px;
}
.page-content .form .box dt{
	width: 100%;
	margin: 30px 0 0;
}
.page-content .form .box dd{
	width: 100%;
	margin: 10px 0 0;
}
.page-content .form .box dt.text,
.page-content .form .box dd.text{
	text-align: center;
}

.page-content .form .box dt .asterisk{
	color: red;
	margin: 0 0 0 10px;
}
.page-contenth3{
	margin: 20px 0 0;
	text-align: center;
	color: red;
	font-size: 20px;	
}
.page-content.note{
	margin: 20px auto 0;
	width: 100%;
	max-width: 660px;
}
.submit{
    margin: 30px auto 0;
    width: 260px;

}
.submit input{
  border: none;
  width: 100%;
	cursor: pointer;
  background: var(--main);
  border-radius: 30px;
  padding: 10px 10px 14px;
	color: #fff;
	font-weight: bold;
}
.submit input:hover{
	padding: 10px 0 14px 40px;
    transition: .5s;
}
input {
	width: 100%;
	height: 50px;
	font-size: 16px;
	border: 1px solid #cfcfcf;
	padding: 8px;
	font-family: 'Noto Sans JP';
}
textarea {
	width: 100%;
 	height: 300px;
	border: 1px solid #cfcfcf;
	font-size: 16px;
	padding: 8px;
	font-family: 'Noto Sans JP';
}
input::placeholder,
textarea::placeholder {
  color: #cfcfcf;
}
/* IE */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cfcfcf;
}
/* Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #cfcfcf;
}
.page-content .form .box .agreement input {
	width: 20px;
    height: 20px;
}
.page-content .form .box .agreement label{
	display: flex;
	align-items: center;
}
.page-content .form .box .acceptance{
	text-align: center;
	margin: 10px 0 0;
}
.page-content .form .box .acceptance input {
	width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
}
.page-content .form .box .acceptance  label{
	display: flex;
	align-items: center;
}

.page-content .form .box .agreement span.wpcf7-list-item-label{
	margin: 0 0 0 10px;
}
.page-content .form .box .agreement a{
	margin: 10px 0 0;
	color: #00F;
	text-decoration: revert;
}
.page-content .form .box .agreement a:hover{
	color: #000;    
	text-decoration: none;
}
.page .personal ol{
    margin: 0 0 15px 30px;	
}
.page .personal ol li{
    list-style: decimal;
    margin: 0 0 10px;	
}

#page.privacy .text-box{
	max-width: 900px;
	margin: 0 auto 100px;
}
#page.privacy .text-box h2{
	text-align: center;
	margin: 0 0 30px;
}
#page.privacy .text-box h2 span{
	display: block;
	font-size: smaller;
}

#page.privacy .text-box h3{
	margin: 40px 0 10px;
}
#page.privacy .text-box ul li,
#page.privacy .text-box ol li,
#page.privacy .text-box p{
    margin: 0 0 10px;		
}
#page.privacy .text-box ol{
	list-style-type: decimal;	
  margin: 0 0 15px 20px;
}

#page.regulation .text-box{
	max-width: 900px;
	margin: 0 auto 100px;
}
#page.regulation .text-box h2{
	text-align: center;
	margin: 0 0 30px;
}
#page.regulation .text-box dl{
	margin: 10px 0 0;
}
#page.regulation .text-box dl dt{
	width: 100%;
	margin: 0;	
	background: #eee;
	padding: 10px;
	border: 1px solid #000;
	font-weight: bold;
}
#page.regulation .text-box dl dd{
	width: 100%;
  margin: -1px 0 0;	
  border: 1px solid #000;
  padding: 10px;
}


.news-l .content{
	margin: 0 0 100px;	
}
.news-l .content .block{
	max-width: 1000px;
}

.news-l .content h2{
	text-align: center;
	margin: 0 0 30px;
}
.news-l .catbox .cat-nav {
    display: flex;
		margin: 0 0 30px;
}
.news-l .catbox  .cat-nav li{
    margin: 0 10px 0 0;	
}
.news-l .catbox  .cat-nav li.oar a{
	color: #707070;
  padding: 2px 20px;
  background: #AD8146;
  border-radius: 50px;	
	color: #fff;
}
.news-l .catbox  .cat-nav li a{
	color: #707070;
  padding: 2px 20px;
  border: solid 1px #AD8146;
  border-radius: 50px;	
	color: #333;
}
.news-l .catbox  .cat-nav li.is-on a{
	color: #707070;
  padding: 2px 20px;
  background: #AD8146;
  border-radius: 50px;	
	color: #fff !important;
}

.news-l .catbox  .cat-nav li a:hover{
	color: #707070;
  padding: 2px 20px;
  background: #AD8146;
  border-radius: 50px;	
	color: #fff;
}
.news-l .content .list .box{
	margin: 0 0 30px;
}
.news-l .content .list .box .cat li{
	background: #f1f1f1;
	padding: 2px 10px;
	border-radius: 50px;
	font-size: 14px;
	margin: 0 10px 0 0;
}
.news-l .content .list .box .title{
	padding: 10px 0 0; 
}
.news-l .content .list .box a{
	width: 100%;
  border-bottom: 1px solid #ddd;	
  padding: 0 0 10px;
  font-weight: bold;
}
.news-l .content .list .box a .title:hover{
	color: #AD8146;
}

.page-publication .b01{
	max-width: 600px;
  margin: 60px auto 100px;	
}
.page-publication .b01 h2{
	max-width: 80%;
	margin: 20px auto 40px;;		
}
.page-publication .b01 .en{
	text-align: center;
	color: #AD8146;
	font-size: xx-large;
}
.page-publication .b02 h2,
.page-publication .b03 h2,
.page-publication .b04 h2,
.page-publication .b05 h2,
.page-publication .b06 h2,
.page-publication .b07 h2,
.page-publication .b08 h2{
	text-align: center;
	font-size: xx-large;
	margin: 0 0 40px;
}
.page-publication .b02 h2 span,
.page-publication .b03 h2 span,
.page-publication .b04 h2 span,
.page-publication .b05 h2 span,
.page-publication .b06 h2 span,
.page-publication .b07 h2 span,
.page-publication .b08 h2 span{
	display: block;
	font-size: 14px;
}
.page-publication .b02 .text h3{
	font-size: x-large;	
	margin: 0 0 20px;
}
.page-publication .b02 .text .ti{
	margin: 10px 0 0;
	font-size: small;
}
.page-publication .b02 .img{
	max-width: 90%;
	margin: 30px auto;
}

.page-publication .b03{
	margin: 60px 0 0;
	padding: 40px 0;
	background: #ECF6FF;
}

.page-publication .b03 h2{
	margin: 0 0 20px;
}
.page-publication .b03 .text p{
		margin: 0 0 30px;
}
.page-publication .b03 .box-list{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 30px 0 0 ;
}

.page-publication .b03 .box-list .box{
	max-width: 80%;
	background: #fff;
	padding: 30px ;
	margin: 0 0 16px;
}
.page-publication .b03 .box-list .box h3{
	text-align: center;
	margin: 0 0 10px;
	
}
.page-publication .b03 .box-list .box .icon{
	margin: 0 auto 10px;
	width: 60px;
}
.page-publication .b04{
	margin: 0 0 50px;
	padding: 0 0 60px;
	background: #ECF6FF;
}
.page-publication .b05 .flex .img{
			width: 80%;
			margin: 20px auto ;
}



.page-publication .b06{
	margin: 60px 0 0;
	padding: 40px 0;
	background: #ECF6FF;
}

.page-publication .b06 h2{
	margin: 0 0 20px;
}
.page-publication .b06 .text-box{
	max-width: 960px;
	margin: auto;
	background: #fff;
	padding: 50px 20px ;
}
.page-publication .b06 .text-box h3{
  padding: 0.5em;
  color: #494949;
  background: #ECF6FF;
  border-left: solid 5px #4169E1;
  margin: 0 0 20px;
}
.page-publication .b06 .text-box li{
	margin: 0 0 10px;
}

.page-publication .b07{
  margin: 60px auto 100px;	
}
.page-publication .b07 .flex{
	display: flex;
	justify-content: space-between;	
	flex-wrap: wrap;
}
.page-publication .b07 .box{
	margin: 30px 0 0;
}
.page-publication .b07 .box img{
	margin: 0 0 16px;
}
.page-publication .b07 .box-l{
	padding: 40px 16px;
	background: #ECF6FF;
	margin: 60px 0 0;	
}
.page-publication .b07 .box-l img{
	width: 160px;
	margin: 0 auto 20px;
}
.page-publication .b07 .box-l .text h4{
	font-size:large;
	margin:  0 0 10px;
 }
.page-publication .b02 .flex,
.page-publication .b04 .flex,
.page-publication .b05 .flex{
	display: block;
}

.page-publication .b08{
  margin: 60px auto 100px;	
}
.page-publication .b08 .list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* dlのデフォルト余白をリセット */
.page-publication .b08 .list dl{
  margin: 0;
}

/* 画像まわりの崩れ防止 */
.page-publication .b08 .list dt{
  margin: 0;
}

.page-publication .b08 .list dt img{
  width: 100%;
  height: auto;
  display: block;
}

/* 日付テキスト */
.page-publication .b08 .list dd{
  margin: 6px 0 0;
  font-size: 1.8rem;
  text-align: center;

}


/* ===============================
   レスポンシブ：768px以上（タブレット）
================================== */
@media (min-width: 768px) {
	#page .top{
		height: 360px;
	}
	#page .top .img{
	  width: 100%;
	  padding: 359px 0 0 0;
	}
	#page .top .text{
	  top: 34%;
	}
	#page .top h2{
	  font-size: xxx-large;	
	}
	#page.company .box dl{	
	  display: flex;
	}
	#page.company .box dl dt{
	  width: 14vw;
	  padding: 30px 10px 30px 40px;	
	  margin: 0;
	  border-bottom: none;		
	}
	#page.company .box dl dd{
	  margin: 0;
		width: 80vw;
		padding: 30px 60px 30px 60px;
		vertical-align: top;
		position: relative;
		line-height: 30px;  
	}
	#page.company .box dl dd:before {
	  content: '';
	  position: absolute;
	  top: 33px;
	  left: 0;
	  bottom: 34px;
	  border-right: 1px solid #ddd;
	}

	#page.regulation .text-box dl{
		display: flex;
		margin: -1px 0 0;
	}
	#page.regulation .text-box dl dt{
		width: 280px;
	}
	#page.regulation .text-box dl dd{
		width: 70%;
	  margin: 0 0 0 -1px;
	}
	#page.about .message .text{
		text-align: center;
	}

.page-publication .b02 .flex{
	display: flex;
	justify-content: space-between;
}

.page-publication .b02 .text{
	width: 44%;
}
.page-publication .b02 .img{
	width: 48%;	
	margin: auto;
}

.page-publication .b03 h2,
.page-publication .b04 h2,
.page-publication .b05 h2{
		text-align: left;
		margin: 0 0 20px;
	}
	.page-publication .b03 .box-list .box{
		max-width: 48%;
		background: #fff;
		padding: 30px 14px;
		margin: 0 0 10px;
}
.page-publication .b03 .box-list .box .icon{
	margin: 0 auto 10px;
	width: 60px;
}
.page-publication .b03 .text p{
	width: 400px;
	position: absolute;
	top: 16px;
	right: 30px;
}  

.page-publication .b03{
	padding: 40px 0 80px;
	background: #ECF6FF;
}

.page-publication .b04 .flex{
	display: flex;
	justify-content: space-between;	
}
.page-publication .b04 .flex h2{
	width: 340px;
}

.page-publication .b05 .flex{
	display: flex;
	justify-content: space-between;	
}
.page-publication .b05 .flex .text{
			width: 38%;
}
.page-publication .b05 .flex .img{
			width: 42%;
}

.page-publication .b06 .text-box{
	padding: 50px 40px ;
}


.page-publication .b07 .box{
	width: 48%;
}

.page-publication .b07 .box-l .flex{
	display: flex;
	justify-content: space-between;	
	align-items: center;
}
.page-publication .b07 .box-l{
	padding: 40px;
}
.page-publication .b07 .box-l img{
	margin: 0 auto;
}
.page-publication .b07 .box-l .text{
	width: 70%;
}
.page-publication .b07 .p-c{
	text-align: center;
}
#page.about .message h3{
	font-size: x-large;
}

.page-publication .b08 .list{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }

}
/* ===============================
   レスポンシブ：992px以上（ノートPC以上）
================================== */
@media (min-width: 992px) {

.page-publication .b03 .box-list .box{
	max-width: 24%;
	background: #fff;
	padding: 10px;
}


.page-publication .b07 .box-l img{
	margin: 0;
}
.page-publication .b07 .box-l .text{
	width: 78%;
}



}

.infinite-slide {
  overflow: hidden;
  width: 100%;
	margin: 0 0 100px;
}

.infinite-slide__track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;         /* 中身幅に合わせる */
  animation: slide 40s linear infinite;
  will-change: transform;
}
.item{
	max-width: 400px;	
	margin: 0 20px 0 0;
}

@keyframes slide {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (max-width: 600px) {
  .infinite-slide__track {
    animation-duration: 40s;   /* スマホでは速めにして視覚的に動いてる感を出す */
  }
}