@charset "utf-8";



/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");


/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("slide.css");
@import url("inview.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

.m-plus-rounded-1c-thin {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.m-plus-rounded-1c-light {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.m-plus-rounded-1c-medium {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.m-plus-rounded-1c-bold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.m-plus-rounded-1c-extrabold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.m-plus-rounded-1c-black {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  font-style: normal;
}

/*animation1のキーフレーム設定（開閉ブロックのアニメーションに使用）
---------------------------------------------------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}


/*opa1のキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*fadeInのキーフレーム設定（テキストのフェードインに使用）
---------------------------------------------------------------------------*/
@keyframes fadeIn {
	0% {opacity: 0;transform: scale(0.8);}
	100% {opacity: 1;transform: scale(1);}
}


/*全体の設定
---------------------------------------------------------------------------*/
body * {box-sizing: border-box;}
html,body {
	height: 100%;
	font-size: 14px;
}

	/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {html, body {font-size: 16px;}}


body {
	margin: 0;padding:0;
	font-family: "M PLUS Rounded 1c", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;	/*フォント種類（ゴシック）*/
	font-optical-sizing: auto;
	/*font-weight: 300;*/
	-webkit-text-size-adjust: none;
    background-color: rgba(249,245,241,1.00);
	color: #272727;	
	line-height: 2;		/*行間*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav,ul,li,ol {margin: 0;padding: 0;}
nav ul {list-style: none;}
section li {margin-left: 1rem;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a { transition: 0.3s;
}

a:hover { text-decoration: none;	/*下線を消す*/}


/*コンテナー
---------------------------------------------------------------------------*/
#container {
	display: flex;
	flex-direction: column;	/*子要素を縦並びにする*/
}


/*コンテンツ（フッター関連「以外」を囲むブロック）
---------------------------------------------------------------------------*/
#contents {
    margin: 0;
    padding: 0;

}

/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
    margin: 0;
    padding: 0;	
    z-index: 100;
    width: 100%;
    background-color: rgba(254,254,254,0.0);
    transition: background-color 0.3s ease;
}

.inner{
    width: 100%;
    height: 70px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;	
	align-items: center;	
	justify-content: space-between;
    padding: 0 100px 0 0;
    z-index: 101;
}

	/*画面幅1100px以上の追加指定*/
@media screen and (min-width:1100px) {
	
	/*ヘッダーブロック*/
	header {
	position: fixed;
  top: 0;
  left: 0;
	}
.header.is-scroll {
  background-color: rgba(255,255,255,0.9);
}
	.inner{
    padding: 0 2% 0 0;
}
	}

/*ロゴ（※画像にする場合）*/
#logo img {
	display: block;
	width:230px;
}
#tel2{
    display: none;
}
#tel{
    font-size: 1.3rem;
    font-weight: 500;
    color: #21844a;
    letter-spacing: -0.04rem;
}
#tel a{
	text-decoration: none;
	color: #21844A
;}
#tel img{
    width: 25px;
}
@media screen and (max-width:480px){
.inner{
    width: 100%;
    height: 70px;
    max-width: 480px;
    margin: 0 auto;
    display: flex;	
	align-items: center;	
	justify-content: space-between;
    padding: 0 70px 0 0;
    z-index: 101;
}
    #logo img {
	display: block;
	width:240px;
        padding-right: 20px;
}
#tel{
    display: none;
}
    #tel2{
        display: block;
        width: 40px;
        
    }   
}


/*メニューブロック初期設定
---------------------------------------------------------------------------*/
/*メニューをデフォルトで非表示*/
#menubar {display: none;}
#menubar ul {list-style: none;margin: 0;padding: 0;}
#menubar a {display: block;text-decoration: none;}

/*上で非表示にしたメニューを表示させる為の設定*/
.large-screen #menubar {display: block;}
.small-screen #menubar.display-block {display: block;}

/*3本バーをデフォルトで非表示*/
#menubar_hdr.display-none {display: none;}

/*ドロップダウンをデフォルトで非表示*/
.ddmenu_parent ul {display: none;}

/*ドロップダウンの親メニューのカーソル表示を変更*/
a.ddmenu {cursor: default;}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 6 Free";	/*Font Awesomeを使う指示*/
	content: "\f078";		/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 0.5em;	/*アイコンとテキストとの間に空けるスペース*/
}


/*大きな端末用のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック全体の設定*/
.large-screen #menubar > nav > ul {
	display: flex;		/*横並びにする*/
	font-size: 0.85rem;	/*文字サイズ。85%。*/
	gap: 0.5rem;		/*メニュー同士の間に空けるマージン的な要素*/
}

/*メニュー１個あたりの設定*/
.large-screen #menubar li a {
    color: #272727;
    padding: 0.5rem 1rem;
}
.large-screen #menubar li a:hover {
    color: #14994a;
	
}

.large-screen #menubar li{
    /*線の基点とするためrelativeを指定*/
  position: relative;
    margin:0;
}


/*線の基点位置*/
.large-screen #menubar li::before,
.large-screen #menubar li::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
    /*線の形状*/
  width: 0;
  height:1px;
  background: -moz-linear-gradient(90deg, #fff, #14994a, #fff);
 background: -webkit-linear-gradient(90deg, #fff, #14994a, #fff);
 background: linear-gradient(90deg, #fff, #14994a, #fff);
/*アニメーションの指定*/
  transition: all 0.2s linear;
  transition-delay: 0.2s;
}

.large-screen #menubar li::before{
  left: 0;
  top: 0;
}
.large-screen #menubar li::after{
  left: 0;
  bottom: 0;
}

/*線の基点位置2 spanタグ*/

.large-screen #menubar li span{
  display: block;
}

.large-screen #menubar li span::before,
.large-screen #menubar li span::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
    /*線の形状*/
  width:2px;
  height:0;
  background: #0481A2;
/*アニメーションの指定*/
  transition: all 0.2s linear;
}

.large-screen #menubar li span::before{
  left: 0;
  top: 0;
}
.large-screen #menubar li span::after{
  right: 0;
  bottom: 0;
}

/*現在地とhoverした際の線の変化*/

.large-screen #menubar li.current::before,
.large-screen #menubar li.current::after,
.large-screen #menubar li:hover::before,
.large-screen #menubar li:hover::after{
  width: 100%;/*横幅を100%に*/
}

.large-screen #menubar li.current span::before,
.large-screen #menubar li.current span::after,
.large-screen #menubar li:hover span::before,
.large-screen #menubar li:hover span::after{
  height: 100%;/*縦幅を100%に*/
}

/*大きな端末、小さな端末、共通のドロップダウンメニュー設定
---------------------------------------------------------------------------*/
/*ドロップダウンブロック*/
.large-screen #menubar ul ul,
.small-screen #menubar ul ul {
	animation: opa1 0.5s 0.1s both;	/*0.1秒待機後、0.5秒かけてフェードイン表示*/
}


/*大きな端末用のドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンメニューブロック全体*/
.large-screen #menubar ul ul {
	position: absolute;z-index: 100;
}

/*メニュー１個あたり*/
.large-screen #menubar ul ul a {
	margin-top: 0.4rem;	/*上に空けるスペース。メニュー同士の隙間です。*/
}


/*小さな端末用の開閉ブロック
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 90px;
	background: #4da06b;		/*背景色*/
	animation: animation1 0.2s both;	/*animation1を実行する。0.2sは0.2秒の事。*/
}

/*メニュー１個あたりの設定*/
.small-screen #menubar nav ul li {
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	margin: 1rem;			/*メニューの外側に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
	padding: 0 2rem;		/*メニュー内の余白。上下、左右へ。*/
}
.small-screen #menubar nav ul li:hover{
    background-color: rgba(255,255,255,0.30);
}
.small-screen #menubar a {
	padding: 1rem;	/*メニュー内の余白*/
}

/*文字色*/
.small-screen #menubar, .small-screen #menubar a {
	color: #fff;
}
.small-screen #menubar, .small-screen #menubar :hover {
	color: #F6CA14;

}
/*900px以下でのみ表示させるブロック*/
#menubar .sp {
	font-weight: normal;		/*文字の太さを標準にする*/
	padding: 1rem 2rem 2rem;	/*上、左右、下へのブロック内の余白*/
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	animation: opa1 0s 0.2s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 3vw;			/*右からの配置場所指定*/
	top: 15px;				/*上からの配置場所指定*/
	padding: 16px 14px;		/*上下、左右への余白*/
	width: 46px;			/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;			/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）部分。flexはデフォルトで横並びになるので、それを縦並びに変更。*/
	justify-content: space-between;	/*並びかたの種類の指定*/
    background-color: #21844a;
    border-radius: 50px;
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid #fff;	/*線の幅、線種、色*/
}
#menubar_hdr span:nth-of-type(3){
    width: 12px;
    border-top: 2px solid #fff;
}
/*×印が出ている状態の3本バーの背景色*/
#menubar_hdr.ham {
	background: #21844a;
}

/*×印が出ている状態*/
#menubar_hdr.ham span:nth-of-type(1) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
	border-color: #fff;					/*線の色だけ上書き*/
}
#menubar_hdr.ham span:nth-of-type(2) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
	border-color: #fff;					/*線の色だけ上書き*/
}


/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(3.8px, 5px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※2本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	transform: rotate(-45deg) translate(3.8px, -5px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※3本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	display: none;	/*２本目は使わないので非表示にする*/
}


/*--------MAIN--------------*/
.main{
    width: 100%;
    background-color: #fff;
    padding: 40px 0;
    margin: 0;
}
.main2{
    width: 100%;
    padding: 40px 0;
    margin: 0;
    background-color:rgba(249,245,241,1.00);
}
/*--------------PAGE_TTL----------------*/
.page_ttl_area{
    width: 100%;
    background-image: url("../images/page_ttl_bace.png");
    background-repeat: repeat-x;
    background-position: bottom;
    margin: 40px auto 0;
    padding:50px 0 40px;
}
.page_ttl_bace{
    width: 100%;
    margin: 0 auto;
    max-width: 1400px;
}
.page_ttl{
    width:40%;
    text-align: center;
    background-image: url("../images/page_ttl_bg.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    font-size: 1.4rem;
    color: #905f2d;
    padding: 70px 0 0 80px; 
    margin: 0 0 0 2%;
    max-width: 560px;
    font-weight: 500;
}
.page_main_area{
    width: 100%;
    min-height: 200px;
    background-color: rgba(227,239,215,1.00);
    margin: -1px 0 0;
}
.page_main2_area{
    width: 100%;
    min-height: 200px;
    background-color: #fff;
    margin: 0 0 -100px 0;
    padding-bottom: 160px;
}
.page_main3_area{
    width: 100%;
    min-height: 200px;
    background-color: #fff;
    margin: 0 0 0 0;
}
.page_main4_area{
    width: 100%;
    min-height: 200px;
    margin: 0 0 -100px 0;
    padding-bottom: 160px;
}
.page_main5_area{
    width: 100%;
    background-image: url("../images/page_main5_bg_bace.png");
    background-repeat: repeat-x;
    background-position: top left;
    margin: -1px auto 0;
    padding:0 0 40px;
}
@media screen and (max-width:1099px) {
 /*--------------PAGE_TTL----------------*/
.page_ttl_area{
    width: 100%;
    background-image: url("../images/page_ttl_bace.png");
    background-repeat: repeat-x;
    background-position: bottom;
    margin: -40px auto 0;
    padding:50px 0 40px;
}

.page_ttl{
    width:40%;
    text-align: center;
    background-image: url("../images/page_ttl_bg.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    font-size: 1.4rem;
    color: #905f2d;
    padding: 60px 0 0 80px; 
    margin: 0 0 0 0;
    max-width: 560px;
    font-weight: 500;
}   
}
@media screen and (max-width:900px) {
 /*--------------PAGE_TTL----------------*/
.page_ttl_area{
    width: 100%;
    background-image: url("../images/page_ttl_bace.png");
    background-repeat: repeat-x;
    background-position: bottom;
    margin: -40px auto 0;
    padding:40px 0 50px;
}

.page_ttl{
    width:40%;
    text-align: center;
    background-image: url("../images/page_ttl_bg.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    font-size: 1.3rem;
    color: #905f2d;
    padding: 50px 0 0 50px; 
    margin: 0 0 0 0;
    max-width: 560px;
    font-weight: 500;
}   
}
/*フッター設定
---------------------------------------------------------------------------*/
footer {
	font-size: 0.7rem;		/*文字サイズ。bodyのfont-sizeの70%です。*/
	text-align: center;		/*内容をセンタリング*/  
}

.footer_top{
    width: 100%;
    margin: 0 auto -1px;
    padding: 0 0 5vw 0;
    background-image: url("../images/footer_top_bg.png");
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width:480px) {
 /*--------------PAGE_TTL----------------*/
.page_ttl_area{
    width: 100%;
    background-image: url("../images/page_ttl_bace_s.png");
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 100%;
    margin: -30px auto 0;
    padding:30px 0 10px;
}

.page_ttl{
    width:250px;
    text-align: center;
    background-image: url("../images/page_ttl_bg.png");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position:center;
    font-size: 1.2rem;
    color: #905f2d;
    padding: 30px 0 20px 0; 
    margin: 0 0 0 0;
    max-width: 560px;
    font-weight: 700;
}   
}
/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
.footermenu_area{
    width: 100%;
    background-color: #e3efd7;
    margin: -1vw 0 0;
}

.footermenu {
    width: 90%;
	margin: 0 auto;
	padding: 40px 0;		/*ブロック内の余白*/
    display: flex;
    justify-content: space-between;
	text-align: center;	/*テキストを中央に*/
	font-size: 0.9rem;	/*文字サイズ。bodyのfont-sizeの80%です。*/
    max-width: 1260px;
    align-items: flex-end;
    flex-wrap: wrap;
}
.footer_item1{
    width: 46%;
    display: flex;
    font-size:1.1rem;
    line-height:1.8rem;
    justify-content: space-between;
    align-items: flex-end;
}
.footer_logo{
    width: 52%;
}
.footer_info{
    width:46%;
    display: flex;
    justify-content: flex-start;
}
.footer_info img:hover{
    -webkit-transform: translateY(-2px);
	        transform: translateY(-2px);
filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.3));
}

.footer_info_item{
    width: 40%;
    margin: 0 6px
}
.footer_item1 p {
    margin: 0;
}
.footer_item2{
    width: 46%;
}
.footer_item2 ul {
    display: flex;
    flex-wrap: wrap-reverse;
    flex-direction: row;
    align-items: flex-start;
}
.footer_item2 li{
    list-style: none;
    margin: 0px 20px;
}
.footer_item2 li a{
    color: rgba(0,131,74,1.00);
}
/*リンクテキスト*/
footer a {text-decoration: none;}
.copyright{
    font-size: 0.8rem;
    color: #905f2d;
    text-align: right;
    padding: 0 100px 10px 0;
}
@media screen and (max-width:1100px){
.footermenu {
    width: 90%;
	margin: 0 auto;
	padding: 40px 0;		/*ブロック内の余白*/
    display: flex;
    justify-content: space-between;
	text-align: center;	/*テキストを中央に*/
	font-size: 0.9rem;	/*文字サイズ。bodyのfont-sizeの80%です。*/
    max-width: 980px;
    align-items: flex-end;
    flex-wrap: wrap;
}
.footer_item1{
    width: 35%;
    display: flex;
    flex-direction: column;
    font-size:1.1rem;
    line-height:1.8rem;
    justify-content: space-between;
    align-items: center;
}
.footer_logo{
    width:100%;
}
.footer_info{
    width:80%;
    display: flex;
    justify-content: space-around;
    align-items: center;
}


.footer_info_item{
    width: 49%;
margin: 20px 10px 0;
}

.footer_item2{
    width: 60%;
}
}
@media screen and (max-width:480px){
.footer_top{
    width: 100%;
    margin: 0 auto -1px;
    padding: 40px 0 5vw 0;
    background-image: url("../images/footer_top_bg_s.png");
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 100%;
}
.footermenu {
    width: 55%;
	margin: 0 35% 0 6%;
	padding: 10px 0 30px;		/*ブロック内の余白*/
    display: flex;
    flex-direction: column;
    justify-content: center;
	text-align: center;	/*テキストを中央に*/
	font-size: 0.9rem;	/*文字サイズ。bodyのfont-sizeの80%です。*/
    max-width: 480px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.footer_item1{
    width: 100%;
    display: flex;
    font-size:1.0rem;
    line-height:1.8rem;
    justify-content: space-between;
    align-items: center;
}
.footer_logo{
    width: 100%;
}
.footer_info{
    width:100%;
    display: flex;
    justify-content: space-between;
}

.footer_info_item{
    width: 100%;
}

.footer_item2{
    display: none;
}
.copyright{
    font-size: 0.8rem;
    color: #905f2d;
    text-align: right;
    padding: 0 40px 5px 0;
}
}
/*テキストのフェードイン設定
---------------------------------------------------------------------------*/
/* 初期状態でテキストを非表示にする */
.fade-in-text {
    visibility: hidden;
}

/* アニメーションを適用するクラス。
animationの行の「0.05s」が文字の出現のなめらかさで、大きいほどなめらかに出てきます。
１文字ずつの出現する際の時差は、js/main.jsの「テキストのフェードイン効果」の中にある「0.2」で調整できます。*/
.char {
    display: inline-block;
    opacity: 0;
    animation: fadeIn 0.05s linear both;
}



/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
	background:rgba(33,132,74,0.3);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/*その他
---------------------------------------------------------------------------*/

.pc {display: none;}


	/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	.ws {width: 48%;display: inline;}
	.sp {display: none;}
	.pc {display: block;}

	}/*追加指定ここまで*/
