﻿@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap');
/* color */
body,.txt_color_nomal{color: #231F20;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #8fc41c} /* メインカラー */
.txt_color2{color: #e8cca7} /* サブカラー */
.txt_color3{color: #02a0e7} /* アクセントカラー1 */
.txt_color4{color: #fffdf2} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #8fc41c} /* メインカラー */
.bg_color2{background-color: #e8cca7} /* サブカラー */
.bg_color3{background-color: #02a0e7} /* アクセントカラー1 */
.bg_color4{background-color: #fffdf2} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}

/* border-color ※!important */
.border_color1{border-color: #8fc41c}
.border_color2{border-color: #00923a}
.border_color3{border-color: #02a0e7}
.border_color4{border-color: #fffdf2}

/* hover ---------------------------------------------------------------------------------------------*/
/* color */
.hvr_txt_color_nomal:hover{color: #231F20;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #8fc41c} /* メインカラー */
.hvr_txt_color2:hover{color: #e8cca7} /* サブカラー */
.hvr_txt_color3:hover{color: #02a0e7} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #fffdf2} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #8fc41c} /* メインカラー */
.hvr_bg_color2:hover{background-color: #e8cca7} /* サブカラー */
.hvr_bg_color3:hover{background-color: #02a0e7} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #fffdf2} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #8fc41c}
.hvr_border_color2:hover{border-color: #e8cca7}
.hvr_border_color3:hover{border-color: #02a0e7}
.hvr_border_color4:hover{border-color: #fffdf2}

.linkStyle { color:#231F20;
}
.linkStyle:hover { opacity:0.7;transition: all 0.3s;
}
body {
	font-family: 'Josefin Sans','Noto Sans JP',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
header  {
    background-color: #8fc41c!important;
	position: relative;
	z-index: 0;
}
header::before  {
	position: absolute;
	content: '';
	width: calc(100% - 50px);
	height: calc(100% - 50px);
	background-color: #fff!important;
	border:3px solid #c8a063;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
#top_header {
	background-color: transparent!important;
}
#top_header h1 {
	width: 35%!important;
}
.links_bt img:hover {
    cursor: pointer;
}
.links_bt img:hover,
#pc_intro h3 img:hover {
	animation: shake 0.3s linear 1;
}
@keyframes shake {
0% {
    transform: translate(8px, 2px) rotate(0deg);
}
35% {
    transform: translate(-2px, 3px) rotate(-1deg);
}
70% {
    transform: translate(10px, -8px) rotate(-1deg);
}
100% {
    transform: translate(0, 0) rotate(0);
}
}

#pc_intro  {
    background-color: #00923a!important;
	position: relative;
	z-index: 0;
}
#pc_intro::before  {
	position: absolute;
	content: '';
	width: calc(100% - 50px);
	height: calc(100% - 50px);
	background-color: #fdfdfb!important;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	border:3px solid #c8a063;
}
#pc_intro h3 {
	width:80%!important;
	max-width: 390px;
	margin-bottom: 30px;
}
#pc_intro figure {
	position: relative;
}
#pc_intro figure::after {
	position: absolute;
	content: '';
	width: calc(100% - 50px);
	height: calc(100% - 50px);
	background-color: #02a0e7!important;
	top:-55px;
	right: -55px;
	z-index: -1;
}
#pc_intro div.border_rad10 {
	border:3px solid #02a0e7;
}
#contents {
	margin-bottom: 0;
        padding:10vh 0!important;
}
#contents::after {
    background-color: rgba(158,221,213,0.3)!important;
}
#contents .box_txt {
	border:3px solid #8fc41c;
}

#main_menu {
    border-color: #02a0e7!important;
}
#pc_tel a {
	color:#333333!important;
}
#contents h3, #contents figure {
    margin-bottom: 0px!important;
    background-color: #8fc41c;
    padding:20px 15px 12px;
    border-radius: 10px 10px 0 0;
}
#contents .box_txt {
	border-radius:0;
}
#pc_news {
	padding-top: 100px;
        background-color: #fff;
}
#pc_news .box_item p,
#pc_news .box_item h4 {
	color:#333!important;
}
#page_title {
	padding-top: 20px;
	padding-bottom: 50px;
}
/* 下層ページのロゴ縦幅狭く indexのwrapに.page01つける*/
.page01 #top_header h1 a {
    width: auto;
}
#top_header h1 a {
    display: block;
    width: 200px;
    margin: 0 auto;
}
#page_container {
	background-color:#fff;
}
#page_title {
	padding-left:0;
	background-color:#e8cca7!important;
}
#cms_3-f .cate_box {
    width: 46%;
    margin: 2%;
    padding: 0 5px;
    box-sizing: border-box;
}
#sound_button {
	bottom: 60px;
	right: -25px;
	width: 85px;
	cursor: pointer;
}
#sound_button2 {
	bottom: 20px;
	right: 15px;
	width: 85px;
	cursor: pointer;
}
/*769px、右側の100pxぶんの空き削除*/
@media screen and (min-width: 769px){
#pc_menu.on .bg_wrap {
	background-color: rgba(232, 204, 167, 0.9)!important;
}
#main_right header {
    padding-right: 0px!important; 
}
#main_right main section {
    padding-right: 30px!important;
}
#page_title {
    padding-right: 0px!important;
}
}

@media (max-width:768px){
header {
	background-image: none;
	background-color: transparent!important;
}
header::before  {
	background-color: transparent!important;
	background-image: none;
	box-shadow: none;border: none;
}
#top_header {
	background-color: rgba(255, 255, 255, 0.7)!important;
}
#top_header h1 {
	width: 20%!important;
}
#top_header h1 a {
    display: contents;
    width: auto;
}	
#main_menu {
	background-color: rgba(232, 204, 167, 0.9)!important;
	border_color:#02a0e7!important;
}
#cms_6-c .arrow {
    bottom: -155px;
    height: 110px;
}
}

@media (max-width:667px){
	
}
@media all and (-ms-high-contrast:none){
#cms_5-a .cate_title span i { padding-top:13px;
}
}
@supports (-ms-ime-align:auto) {}