@charset "utf-8";
/*safariのスタイルリセット*/
input {
	-webkit-appearance: none;
	appearance: none;
	background-color: white;
	color: black;
}

/*チェックボックスのチェックはデフォルトを維持させる*/
input[type="checkbox"] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
}

/*共通設定*/
html {
    scroll-behavior: smooth;
}

body {
    font-family: "游ゴシック", "游ゴシック体", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.1em;
	background-color: #F7F7ED;
	color:#110B06;
	line-height: 1.8;
	word-break: break-word;
}

h1{
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-align: center;
	margin: 50px auto;
}

h2{
	font-size: 1.5rem;
	font-weight: 700;
	margin: 25px 0;
}

h3{
	font-size: 1.3rem;
	font-weight: 600;
	margin: 15px 0;
}

p{
	font-size: 1.1rem;
	font-weight: 500;
}

/*余白設定*/
.container{
	margin: 50px 10%;
}

/*h1修飾画像*/
.co-h1_img{
	vertical-align: middle;
}

.co-h1_wrapper{
	width: 80%;
	margin: 0px auto ;
	display: flex;
	justify-content: space-around;
}

.co-h1_img1{
	width: 20%;
	background-image: url(../img/initial/co-h1_img1.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1_img2{
	width: 20%;
	background-image: url(../img/initial/co-h1_img2.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1{
	width: 60%;
}

/*ボタン*/
a.co-btn_beige{
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: fit-content;
	padding: 1rem 4rem;
	margin: 20px;
	font-weight: bold;
	border-radius: 100vh;
	color: #110B06;
	border: 2px solid #110B06;
	box-shadow: 1px 1px #110B06;
	transition: 0.2s ease-in-out;
}

a.co-btn_beige:hover {
	box-shadow: none;
	transform: translate(1px, 1px);
	color: #110B06;
	background-color: #F4F2DC;
}

a.co-btn_white{
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: fit-content;
	padding: 1rem 4rem;
	margin: 20px;
	font-weight: bold;
	border-radius: 100vh;
	color: #110B06;
	border: 2px solid #110B06;
	box-shadow: 1.5px 1.5px #110B06;
	transition: 0.2s ease-in-out;
}

a.co-btn_white:hover {
	box-shadow: none;
	transform: translate(1.5px, 1.5px);
	color: #110B06;
	background-color: white;
}

/*TOPへもどるボタン*/
.co-pagetop {
	height: 50px;
	width: 50px;
	position: fixed;
	right: 30px;
	bottom: 30px;
	background: #17656B;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
}

.co-pagetop_arrow {
	height: 15px;
	width: 15px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translateY(20%) rotate(-45deg);
}

/*共通ヘッダー*/
header{
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

.co-header_wrap{
	width:100%;
	height:130px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.co-header_logo{
	width:13%;
	height: auto;
	margin: auto 0px;
	padding: 10px 10px 0 0;
}

.co-logo_img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.co-header_text1{
	width:55%;
	margin: auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.co-header_text1 p{
	font-size: 1.3rem;
	font-weight: 500;
}

.co-header_text2{
	width:25%;
	margin: auto 20px;
	border: solid 1px #110B06;
	border-radius: 30px;
	padding: 20px;
}

.co-header_text2 p{
	font-size: 0.9rem;
	font-weight: 500;
}

.co-nav_wrap{
	width:90%;
	height: 80px;
	margin: 20px auto 0;
}

.co-nav_ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 80px;
}

.co-nav_li{
	width: auto;
	margin: 0 40px;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	transition-duration: 0.3s;
}

.co-nav_li:hover{
	transform: scale(1.1);
}

/*ここからハンバーガーメニュー*/
.co-hamburger_menu_link{
	text-decoration: none;
	padding: 0 15px;
	display: inline-block;
	height: 60px;
	line-height: 60px;
	color:white;
	font-size: 1.2rem;
	font-weight: 500;
}

.co-hamburger_menu_p{
	position: absolute;
	top:40px;
	color: white;
	font-size: 0.5rem;
	font-weight: 600;
}

/*ハンバーガーメニューボタン*/
.co-hamburger_menu_btn {
    position: fixed;
    top: 12px;
    right: 10px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90;
	cursor: pointer;
}

.co-hamburger_menu_btn span,
.co-hamburger_menu_btn span:before,
.co-hamburger_menu_btn span:after {
    content: '';
    display: block;
    height: 5px;
    width: 25px;
    background-color: #DBC593;
    position: absolute;
	transition: all 0.1s;
}

.co-hamburger_menu_btn span:before {
    bottom: 8px;
}

.co-hamburger_menu_btn span:after {
    top: 8px;
}

#co-hamburger_menu_btn_check {
    display: none;
}

#co-hamburger_menu_btn_check:checked ~ .co-hamburger_menu_btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#co-hamburger_menu_btn_check:checked ~ .co-hamburger_menu_btn span::before {
    bottom: 0;
    transform: rotate(45deg);
	background-color: white;
}
#co-hamburger_menu_btn_check:checked ~ .co-hamburger_menu_btn span::after {
    top: 0;
    transform: rotate(-45deg);
	background-color: white;
}

/*ハンバーガーメニューリスト*/
.co-hamburger_menu_content ul {
    padding: 100px 30px 0;
}

.co-hamburger_menu_content ul li {
    list-style: none;
	border-bottom: 1px solid white;
}

.co-hamburger_menu_content ul li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color:#110B06;
    text-decoration: none;
    padding: 0px 15px 0px 0;
    position: relative;
	margin: 5px 0;
}

.co-hamburger_menu_content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px white;
    border-right: solid 2px white;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 28px;
}

/*ハンバーガーメニューボックス*/
.co-hamburger_menu_content {
    width: 50%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 80;
}

.co-hamburger_menu_content {
    left: 100%;
	background: #DBC593;
    transition: all 0.5s;/*アニメーション設定*/
}

#co-hamburger_menu_btn_check:checked ~ .co-hamburger_menu_content {
    left: 50%;/*メニューを画面内へ*/
}

.co-hamburger_menu_icon1{
	height: 30px;
	vertical-align: middle;
}
/*ここまでハンバーガーメニュー*/

/*ナビゲーションcurrent*/
.co-link{
	text-decoration: none;
	background:linear-gradient(#F7F7ED 50%,#C3DCE0 50%,#C3DCE0 70%,#F7F7ED 70%);
	padding: 0 15px;
	display: inline-block;
	height: 80px;
	line-height: 80px;
	color:#110B06;
}

.current{
	background:linear-gradient(#F7F7ED 50%,#FFC470 50%,#FFC470 70%,#F7F7ED 70%);
}

/*フッター*/
footer{
	width: 100%;
	height: 430px;
	background-color: #F4F2DC;
	display: flex;
	flex-wrap: wrap;
}

.co-footer1{
	padding-bottom: 50px;
}

.co-footer_wrap{
	height: 150px;
	width: 100%;
	position: relative;
	top:30px;
}

.co-footer_logo{
	width: 330px;
	padding: 0 40px 0 0 ;
}

.co-footer_text{
	padding: 100px 0 0;
	display: flex;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.co-footer_text p{
	color:  #1D5E82;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.8;
	text-align: left;
	width:/*650px*/520px;
}

/*サイトマップ*/
.co-sitemap_wrap{
	width: 80%;
	height: 100px;
	display: flex;
	margin: 0 auto;
}

.co-sitemap_ul{
	list-style: none;
	width: 250px;
	height: 80%;
	margin: auto;
	padding: 50px 0 0;
	display: flex;
	flex-flow: column;
}

.co-sitemap_li{
	width: fit-content;
	padding: 3px 0;
}

.co-sitemap_li a{
	display: block;
	text-decoration: none;
	color: #110B06;
}

.co-sitemap_li span{
  position: relative;
  z-index: 1;
}

/*サイトマップマーカー*/
.co-marker::before {
	background:linear-gradient(#F4F2DC 40%,#C3DCE0 40%);
	content: "";
	display: inline-block;
	width: 90%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .5s;
	z-index: -1;
	margin-left: 35px;
}

.co-marker:hover::before{
	transform-origin: left top;
	transform: scale(1,1);
}

.co-marker_small::before {
	background:linear-gradient(#F4F2DC 45%,#C3DCE0 45%);
	content: "";
	display: inline-block;
	width: 85%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .5s;
	z-index: -1;
	margin-left: 50px;
}

.co-marker_small:hover::before{
	transform-origin: left top;
	transform: scale(1,1);
}

/*サイトマップ矢印*/
.co-round_arrow {
	position: relative;
	padding-left: 45px;
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 600;
	margin: 5px 0;
}

.co-round_arrow_small{
	position: relative;
	display: inline-block;
	font-size: 0.9rem;
	font-weight: 600;
	margin-left: 50px;
	padding-left: 25px;
}
 
.co-round_arrow_small::after { /* くの字の表示設定 */
	content: "";
	position: absolute;
	margin: auto;
	top: 1px;
	bottom: 0;
	left: 8px;
	width: 5px;
	height: 5px;
	border-top: 3px solid #7E7E7E;
	border-right: 3px solid #7E7E7E;
	transform: rotate(45deg);
}

.co-footer2{
	display: none;
}

/*admin*/
.co-footer_admin_li{
	position: relative;
}

.co-footer_admin_link{
	display: block;
	position: absolute;
	top:30px;
	right: 60px;
	z-index: 3;
}

.co-footer_admin_link2{
	display: block;
	position: absolute;
	top:30px;
	left:45px;
	z-index: 3;
}

.co-footer_admin_img{
	width: 30px;
}

/* ▽▽▽　大PC用CSS START */
@media only screen and (min-width:1280px){

.co-header2{
	display: none;
}

}
/* △△△　大PC用CSS END */
/* ▽▽▽　ヘッダー用CSS START */
@media only screen and (max-width:1450px){
	
/*ヘッダー*/
.co-header_logo{
	width:14%;
}
	
.co-header_text1{
	width:45%;
}

.co-header_text2{
	width:30%;
}
	
.co-header2{
	display: none;
}
	
}
/* △△△　ヘッダー用CSS END */
/* ▽▽▽　PC用CSS START */
@media only screen and (max-width:1280px){

/*ヘッダー*/
.co-header_logo{
	width:20%;
}
	
.co-header_text1{
	width:40%;
}
	
.co-header_text1 p{
	font-size: 1.2rem;
}

.co-header_text2{
	width:30%;
}
	
.co-header_text2 p{
	font-size: 0.8rem;
}
	
.co-header2{
	display: none;
}
	
.co-nav_wrap{
	width:100%;
	height: 80px;
	margin: 20px auto 0;
}

.co-nav_ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 80px;
}

.co-nav_li{
	width: auto;
	margin: 0 30px;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	transition-duration: 0.3s;
}

.co-nav_li:hover{
	transform: scale(1.1);
}

/*h1修飾画像*/
.co-h1_wrapper{
	width: 100%;
	margin: 30px auto 50px;
	display: flex;
	justify-content: space-around;
}

.co-h1_img1{
	width: 20%;
	background-image: url(../img/initial/co-h1_img1.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1_img2{
	width: 20%;
	background-image: url(../img/initial/co-h1_img2.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1{
	width: 60%;
}
	
}
/* △△△　PC用CSS END */
/* ▽▽▽　Tablet-A用CSS START */
@media only screen and (max-width:960px){

.co-header1{
	display: none;
}	
	
.co-header2{
	display: block;
}
	
.co-header_wrap{
	width:90%;
	height:200px;
	margin:10px auto;
	background-color: #F4F2DC;
	border-radius: 30px;
}

.co-header_logo{
	height: 50%;
	width: 35%;
	padding: 0px 5px 0 0;
}

.co-header_text1{
	width: 50%;
	background-color: white;
	border-radius: 70px;
	padding: 15px 30px;
}

.co-header_text1 p{
	font-size: 1.0rem;
}

.co-header_text2{
	width:90%;
	margin: 5px auto;
	border: solid 0px #110B06;
	border-radius: 30px;
	padding: 0px;
	color:#606060;
}

.co-header_text2 p{
	font-size: 0.9rem;
}
	
/*h1修飾画像*/
.co-h1_wrapper{
	width: 100%;
	margin: 20px auto;
	display: flex;
	justify-content: space-around;
}

.co-h1_img1{
	width: 20%;
	background-image: url(../img/initial/co-h1_img1.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1_img2{
	width: 20%;
	background-image: url(../img/initial/co-h1_img2.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1{
	width: 60%;
}

.co-h1 h1{
	font-size: 1.5rem;
}

/*フッター*/
.co-footer1{
	display: none;
}
	
.co-footer2{
	display: block;
	height: 800px;
	padding-bottom: 40px;
}
	
.co-footer_wrap{
	width: 70%;
	height: auto;
	margin: 50px auto 20px;
}
	
.co-footer_logo{
	height: 100px;
	padding: 0;
	margin: auto;
}
	
.co-footer_text{
	width: auto;
	margin: auto;
	padding: 30px 0 0;
	transform: translateY(0) translateX(0);
	position: static;
}
	
.co-footer_text p{
	font-size: 1.2rem;
}

/*サイトマップ*/
.co-sitemap_wrap{
	width: 80%;
	height: 350px;
	margin: auto;
	padding: 50px 50px 20px;
}

.co-sitemap_ul{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
}

/*サイトマップ矢印*/
.co-round_arrow {
	margin: 20px 0 5px;
}
	
}
/* △△△　Tablet-A用CSS END */
/* ▽▽▽　Tablet-B用CSS START */
@media only screen and (max-width:640px){

h1{
	font-size: 1.6rem;
}

h2{
	font-size: 1.4rem;
}

h3{
	font-size: 1.2rem;
}

p{
	font-size: 1.0rem;
}

/*余白設定*/
.container{
	margin: 50px 7%;
}
	
/*h1修飾画像*/
.co-h1_wrapper{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
}

.co-h1_img1{
	width: 15%;
	background-image: url(../img/initial/co-h1_img1.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1_img2{
	width: 15%;
	background-image: url(../img/initial/co-h1_img2.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1{
	width: 70%;
}

.co-h1 h1{
	font-size: 1.3rem;
}

/*ヘッダー*/
.co-header_wrap{
	height: 250px;
	margin: 5px auto;
}

.co-header_logo{
	height: 25%;
	margin: auto 10px;
	width: auto;
}

.co-header_text1{
	width: 55%;
	padding: 15px 25px;
}

.co-header_text1 p{
	font-size: 0.9rem;
}

.co-header_text2 p{
	font-size: 0.8rem;
}

/*ここからハンバーガーメニュー*/
.co-hamburger_menu_content {
    width: 70%;
}
	
#co-hamburger_menu_btn_check:checked ~ .co-hamburger_menu_content {
    left: 30%;/*メニューを画面内へ*/
}
	
/*フッター*/
.co-footer2{
	height: 850px;
}
	
.co-footer_wrap{
	width: 84%;
}
	
.co-footer_text{
	padding: 50px 0 0;
}
	
.co-footer_text p{
	font-size: 1.1rem;
}

/*サイトマップ*/
.co-sitemap_wrap{
	padding: 50px 0 50px;
}

.co-sitemap_ul{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
}
	
}
/* △△△　Tablet-B用CSS END */
/* ▽▽▽　smartphone用CSS START */
@media only screen and (max-width:480px){

h1{
	font-size: 1.5rem;
}

h2{
	font-size: 1.3rem;
}

h3{
	font-size: 1.2rem;
}
	
/*ヘッダー*/
.co-header_wrap{
	width:100%;
	height:300px;
	margin:0px auto;
	border-radius: 0px;
}	

.co-header_logo{
	height: 17%;
	width: auto;
}

.co-header_text1{
	width:80%;
	margin: 0px 0 0;
	border-radius: 30px;
	padding: 0px 15px;
}

.co-header_text2{
	width:90%;
	margin: auto 20px;
	border: solid 0px #110B06;
	border-radius: 30px;
}
	
/*ここからハンバーガーメニュー*/
.co-hamburger_menu_content {
    width: 100%;
}
	
#co-hamburger_menu_btn_check:checked ~ .co-hamburger_menu_content {
    left: 0%;/*メニューを画面内へ*/
}

/*h1修飾画像*/
.co-h1_wrapper{
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: space-around;
}

.co-h1_img1{
	width: 20%;
	background-image: url(../img/initial/co-h1_img1.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1_img2{
	width: 20%;
	background-image: url(../img/initial/co-h1_img2.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.co-h1{
	width: 60%;
}

.co-h1 h1{
	font-size: 1.2rem;
}
	
/*フッター*/
.co-footer_logo{
	width: 270px;
}

/*サイトマップ*/
.co-sitemap_wrap{
	width: 95%;
}
	
}
/* △△△　smartphone用CSS END */
