/*
Theme Name: hasama
Theme URI: localhost/wordpress/
Description: hasama
Author: hayashikai
Author URI: localhost/wordpress/
Version: 1.0.0
*/

@charset "UTF-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, figure, img, fieldset,
h1, h2, h3, h4, h5, h6, p, blockquote,
pre, small, strong, dl, dt, dd, ol, ul, li,
table, caption, tbody, tfoot, thead, tr, th, td{
	margin:0;
	padding:0;
	border:none;
	outline:none;
	font-size:1em;
}

header,hgroup,nav,article,
section,aside,figure,footer{
	display:block;
}

ol, ul{
list-style: none; 
	margin:0 15px 0 35px;
}

li{
	margin:10px 0px 0px 0px;
}

html{
    font:14px/1.3 "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "ＭＳ ゴシック", Arial, Helvetica, Tahoma, sans-serif;
}

a[href$=".pdf"]:before {
    content:" ";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url(img/pdf_32.png) no-repeat;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body{
	background:#FFF;
	width:100%;
	color:#333631;
	overflow-x:hidden;
}


.contents{
	width:100%;
	background:#FFF;
	color:#333631;
	margin:auto;
}

@media screen and (min-width: 1000px){
	.contents{
	width:1000px;
	}
	}

/*	リンクタグ	*/

a{
	color:#333631;
	text-decoration:underline;
}


a:hover{
	color:#000;
	text-decoration:underline;
}

.main a{
	color:#1111cc;
	text-decoration: underline;
}

.main a:hover{
	color:#1111cc;
	text-decoration: underline;
}

h1 {
  padding:2em 0 0.5em 4em;
  border-bottom: 6px solid #ffd964;
  margin:40px 0 20px 0;
  font-size:1.3em;
  background-image:url(img/h.png);
  background-repeat:no-repeat;
}

h2 {
  padding: .25em 0 .3em .75em;
  border-bottom: 10px solid #ffdf51;
  margin:40px 0 20px 0;
  font-size:2em;
  color:#f17300;
  letter-spacing:4px;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
header{
	width:100%;
	}
	
/*------------------------------------------------------------
	メイン
------------------------------------------------------------*/	
.header{
	height:auto;
	background-color:#fff;
	background-repeat:no-repeat;
	background-size:100%;
	background-position:right;
	padding:0 14px 0 14px;
}

	.header{
	height:115px;
	background-color:#fff;
	background-repeat:no-repeat;
	background-size:100%;
	background-position:right;
	padding:0 14px 0 14px;
	background-image: url(img/header_back.png);
	}



.header img{
	width:40%;
	max-width:300px;
	margin-top:20px;
}

.logo{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 6.2rem;
}

@media screen and (max-width: 650px){
.logo .logo_pc{
  display:none;
}
}

@media screen and (min-width: 650px){
.logo .logo_sp{
  display:none;
}
}

.logo img{
	display:block;
 	margin:auto;
}

@media screen and (max-width: 600px){
	.logo{
	position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 4.2rem;
	}
	}
	
	@media screen and (max-width: 600px){
	.logo img{
	display:block;
 	margin:auto;
 	width: 80%;
	}
	}


.global{
	margin:20px 0;
}

@media screen and (max-width: 999px){
	.global{
	display:none;
	}
	}

.menu,.menu_l {
	width:14%;
	height:80px;
	float:left;
	text-align:center;
	font-size:17px;
	line-height:52px;
	letter-spacing:6px;
	position:relative;
	color:#00446d;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

.menu img {
	width: 100%;
	object-fit: contain;
}

.menu a{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color:#00446d;
}

.menu_l a{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color:#00446d;
}

@media screen and (max-width: 999px){
	.menu{
	width:19%;
	height:50px;
	border-right:1px solid #00446d;
	float:left;
	text-align:center;
	font-size:10px;
	line-height:15px;
	letter-spacing:6px;
	position:relative;
	color:#00446d;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	}
	}
	
@media screen and (max-width: 999px){
	.menu a{
	position: absolute;
    top: 35%;
    left: 0;
    width: 100%;
    height: 100%;
    color:#00446d;
	}
	}
	
@media screen and (max-width: 999px){
	.menu_l{
	width:19%;
	height:50px;
	float:left;
	text-align:center;
	font-size:10px;
	line-height:15px;
	position:relative;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	}
	}
	
	@media screen and (max-width: 999px){
	.menu_l a{
	position: absolute;
    top: 27%;
    left: 0;
    width: 100%;
    height: 100%;
    color:#00446d;
	}
	}

.icatch{
	width:100%;
}

.icatch img{
	width:100%;
}

.welcome_pc{
	text-align:center;
	margin:50px 0;
}

.welcome_sp{
	text-align:center;
	margin:20px 0;
}

.welcome_sp img{
	width:315px;
}

	@media screen and (max-width: 750px){
	.welcome_pc{
	display:none;
	}
	}
	
	@media screen and (min-width: 750px){
	.welcome_sp{
	display:none;
	}
	}

.topmenu_wrapper{
  text-align:center;
  margin:30px auto;
}

.topmenu_wrapper .topmenu{
	display:inline-block;
	width:24%;
}

.topmenu img{
	width:85%;
	height:auto;
	max-width:100%;
    max-height:100%;
}

@media screen and (max-width: 750px){
	.topmenu_wrapper{
  text-align:center;
  margin:30px auto;
}
}

@media screen and (max-width: 750px){
	.topmenu_wrapper .topmenu{
	display:inline-block;
	width:80%;
	margin-bottom:20px;
}
}

@media screen and (max-width: 750px){
	.topmenu img{
	width:90%;
	height:auto;
	max-width:100%;
    max-height:100%;
}
}

.main{
	margin:0 15px 0 15px;
}

.main p{
	margin:0 15px 0 15px;
}


/*	フッター*/

.fluid-box{
 	width: 100%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-image:url(img/header_back.png);
    height:145px;
}

.fluid-box_f{
 	width: 100%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-image:url(img/footer_back.png);
    height:145px;
    margin-top:60px;
}

.header_contents{
	width:1000px;
	margin:auto;
	position:inherit;
	top:15%;
	padding:0 10px;
}

@media screen and (max-width: 999px){
	.header_contents{
	width:100%;
	margin:auto;
	position:inherit;
	top:24%;
	}
	}

.footer_contents{
	width:1000px;
	margin:auto;
	position:inherit;
	top:38%;
	padding:0 10px;
}

@media screen and (max-width: 999px){
	.footer_contents{
	width:100%;
	margin:auto;
	position:inherit;
	top:38%;
	}
	}

.footer_l{
	float:left;
}

.footer_r{
	float:right;
	margin-right:15px;
}

	@media screen and (max-width: 730px){
	.footer_l{
	display:none;
	}
	}
	
	@media screen and (max-width: 730px){
	.footer_r{
	width:100%;
	display:flex;
	margin:0;
	}
	}
	
	@media screen and (max-width: 730px){
	.footer_r img{
	margin:auto;
	}
	}
	
	@media screen and (max-width: 400px){
	.footer_r img{
	width:95%;
	height:auto;
	margin:auto;
	}
	}
	
	.header_l{
	float:left;
	}

	.header_r{
	float:right;
	margin-right:15px;
   }

	@media screen and (max-width: 790px){
	.header_r{
	display:none;
	}
	}
	
	@media screen and (max-width: 730px){
	.header_l{
	width:70%;
	height:auto;
	display:flex;
	margin:0;
	}
	}
	
		@media screen and (max-width: 730px){
	.header_l img{
	width:100%;
	}
	}
	
	@media screen and (max-width: 730px){
	.footer_l img{
	margin:auto;
	}
	}
	
	@media screen and (max-width: 400px){
	.footer_l img{
	width:95%;
	height:auto;
	margin:auto;
	}
	}

.greeting_img img{
	float:left;
	margin:0 15px;
	width:200px;
}

.t_img img{
	float:left;
	margin:0 15px;
	width:100px;
}

@media screen and (min-width: 800px){
	.t_img p{
	overflow:hidden;
	}
	}


.baby_p{
	text-align:center;
	margin-bottom:25px;
}

.baby_p img{
	width:95%;
}

.kids_p{
	text-align:center;
}

.kids_p img{
	width:95%;
}

.map{
	text-align:center;
}

.year{
	text-align:center;
	margin-bottom:15px;
}

.year img{
	width:90%;
}

.year_event_wrapper{
	width:100%;
}


.year_event{
	width:100%;
	margin:auto;
	padding:0 5%;
}

.year_event p{
	font-size:30px;
}

.year_event img{
	float:left;
	width:15%;
}

.year_event img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}

.event{
	text-align:center;
	border-top:1px gray solid;
	width:90%;
	margin:auto;
	padding:5px 0 5px 0;
}

.event img{
	width:95%;
}
.recruit_usagi_pc{
	margin:50px 0;
}
.recruit_usagi_pc_none{
	position: relative;
	background: url(img/recruit_usagi_none.png) no-repeat ;
	background-size:cover;
	width: 740px;
	height: 310px;
	margin:50px auto 0;
}
.recruit_usagi_pc_none p{
	position: absolute;
	top: 23%;
	left: 32.3%;
	text-align: left;
	line-height: 25px;
}
.recruit_usagi_pc_none .p_01{
	font-size: 22px;
	line-height: 65px;
	letter-spacing: 1px;
	background: linear-gradient(transparent 80%, #ffd964 20%);
}

.recruit_usagi_sp{
	margin: 20px 0;
}
.recruit_usagi_sp_none{
	position: relative;
	background: url(img/recruit_usagi_sp_none.png) no-repeat ;
	background-size:cover;
	width: 370px;
	height: 370px;
	margin: 20px auto 0;
}
.recruit_usagi_sp_none p{
	position: absolute;
	top: 13%;
	left: 12%;
	font-size: 14px;
	text-align: left;
	line-height: 23px;
}
.recruit_usagi_sp_none .p_01{
	font-size: 20px;
	line-height: 55px;
	letter-spacing: 1px;
	background: linear-gradient(transparent 80%, #ffd964 20%);
}





.recruit_usagi_pc img{
	width:746px;
}

.recruit_usagi_sp img{
	width:315px;
}

	@media screen and (max-width: 750px){
	.recruit_usagi_pc{
	display:none;
	}
	}
	
	@media screen and (min-width: 750px){
	.recruit_usagi_sp{
	display:none;
	}
	}
	
	

/*------------------------------------------------------------
	スライドショー用
------------------------------------------------------------*/

.fluid-box_slide{
 	width: 100vw;
    position: relative;
    height:auto;
    overflow:hidden;
}

@media screen and (max-width: 999px){
	.fluid-box_slide{
	margin-top:20px;
	}
	}

#slideshow {
   position: relative;
   width:  1000px; /* 画像の横幅に合わせて記述 */
}

@media screen and (max-width: 990px){
	#slideshow{
	width:100%;
	}
	}

#slideshow::before {
    content: "";
    display: block;
    padding-top: 30%;/* 画像の枚数に合わせて記述 */
}

#slideshow img {
   width:100%;
   height:auto;
   position: absolute;
   top: 0;
   left:0;
   z-index: 8;
   opacity: 0.0;
}
#slideshow img.active {
   z-index: 10;
   opacity: 1.0;
}
#slideshow img.last-active {
   z-index: 9;
}

/*------------------------------------------------------------
	テーブル用
------------------------------------------------------------*/

table.brwsr2 {
	margin: 35px auto;
	width: 90%;
	border: none;
	border-collapse: separate;
	border-spacing: 0 10px;
	background-color: #fff;
}

table.brwsr2 th {
	vertical-align: middle;
	height: 53px;
	width: 18%;
	border-right: solid 1px #666;
	margin: auto;
	text-align: center;
	color: #333;
	font-size: 16px;
	font-weight: bold;
}

table.brwsr2 td.data {
	padding-left:30px;
	margin: auto;
	height: 53px;
	width: 60%;
	border: none;
	color: #666;
	font-size: 15px;
	line-height: 16px;
	text-align: left;
	vertical-align: middle;
	overflow: hidden;
}

table.brwsr2 td.bar {
	height: 4px;
	width: 100%;
	background-image:url(img/table_dotte.png);
}

/*------------------------------------------------------------
	お問い合わせページテーブル用
------------------------------------------------------------*/

table.brwsr2_c {
	margin: 35px auto;
	border: none;
	border-collapse: separate;
	border-spacing: 0 10px;
	background-color: #fff;
}

table.brwsr2_c th {
	vertical-align: middle;
	height: 53px;
	border-right: solid 1px #666;
	margin: auto;
	text-align: center;
	color: #333;
	font-size: 16px;
	font-weight: bold;
	padding-right:10px;
}

table.brwsr2_c td.data_c {
	padding-left:30px;
	margin: auto;
	height: 160px;
	border: none;
	color: #666;
	font-size: 15px;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
	overflow: hidden;
	line-height:initial;
}

table.class {
	border: 1px solid #595959;
	border-collapse: collapse;
	text-align:center;
	 margin-left:10px;

}

table.class td{
	border: 1px solid #595959;
	padding: 3px;
	width: 70px;
	height: 25px;
}

table.class th {
	border: 1px solid #595959;
	padding: 3px;
	width: 70px;
	height: 25px;
}

table.class th {
	background: #f0e6cc;
}


/*------------------------------------------------------------
	モーダルメニュー用
------------------------------------------------------------*/

@media screen and (min-width: 999px){
	.drawer_menu * {
	display:none;
	}
	}
	
	@media screen and (min-width: 999px){
	.drawer_menu.left .drawer_button{
	display:none;
	}
	}

.drawer_menu * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none;
}

.drawer_menu a {
  color: inherit;
  text-decoration: none;
}

.drawer_menu a:visited {
  color: inherit;
}

.drawer_menu .drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  top: 0;
  left: 0;
}

.drawer_menu .drawer_button {
  display: block;
  background: none;
  border: none;
  padding: 0;
  width: 42px;
  letter-spacing: 0.1em;
  cursor: pointer;
  position: fixed;
  top: 32px;
  right: 32px;
  z-index: 1001;
  text-align: center;
  outline: none;
}

.drawer_menu .drawer_button.active .drawer_bar {
  width: 49px;
}

.drawer_menu .drawer_button.active .drawer_bar1 {
  transform: rotate(30deg);
}

.drawer_menu .drawer_button.active .drawer_bar2 {
  opacity: 0;
}

.drawer_menu .drawer_button.active .drawer_bar3 {
  transform: rotate(-30deg);
}

.drawer_menu .drawer_button.active .drawer_menu_text {
  display: none;
}

.drawer_menu .drawer_button.active .drawer_close {
  display: block;
}

.drawer_menu .drawer_bar {
  display: block;
  height: 2px;
  margin: 10px 0;
  transition: all 0.2s;
  transform-origin: 0 0;
}

.drawer_menu .drawer_text {
  text-align: center;
  font-size: 10px;
}

.drawer_menu .drawer_close {
  letter-spacing: 0.08em;
  display: none;
}

.drawer_menu .drawer_menu_text {
  display: block;
}

.drawer_menu .drawer_nav_wrapper {
  width: 312px;
  height: 100%;
  transition: all 0.2s;
  transform: translate(312px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF;
}

.drawer_menu .drawer_nav_wrapper.open {
  transform: translate(0);
}

.drawer_menu.left .drawer_button {
  right: 32px;
  left: auto;
}

.drawer_menu.left .drawer_nav_wrapper {
  transform: translate(-312px);
  right: auto;
  left: 0;
}

.drawer_menu.left .drawer_nav_wrapper.open {
  transform: translate(0);
}

/*+++ Default Navigation CSS +++*/
.drawer_menu .drawer_nav {
  padding: 112px 24px;
}

.drawer_menu .drawer_nav li {
  font-size: 16px;
  margin-bottom: 15px;
}

/*+++ Default Button Color +++*/
.drawer_menu .drawer_button {
  color: #e84b19;
}

.drawer_menu .drawer_button .drawer_bar {
  background-color: #e84b19;
}

.wrap{
	overflow: hidden;
}


#pagetop_btn {
	position:fixed;
    bottom: 145px;
    right: 85px;
    z-index:8000;
    width:125px;
    height:129px;
}

#pagetop_btn img{
    width:125px;
    height:129px;
}

@media screen and (max-width: 999px){
#pagetop_btn{
  display:none;
  width:0;
}
}

@media screen and (max-width: 999px){
#pagetop_btn img{
  display:none;
  width:0;
}
}

/* 画面幅が751px以上の場合に4つの画像を横に並べる */
@media only screen and (min-width: 751px) {
.image-container {
	display: flex;
    flex-wrap: wrap;
}
.image-container img {
    width: 20%; /* 4つ並べるために20%ずつの幅を設定 */
    height: 100%; /* 高さを100%に設定 */
    margin: 5px; /* 画像の周りに5pxの余白を追加 */
    object-fit: cover; /* 画像を親要素にフィットさせる */
}
}

/* 画面幅が750px以下の場合に画像を縦並びにし、幅を画面の80%に設定 */
@media only screen and (max-width: 750px) {
.image-container {
	display: block;
}
.image-container img {
	width: 90%; /* 画面の90%の幅を設定 */
	height: auto; /* 高さを自動に設定 */
	margin: 15px auto; /* 画像を中央寄せにする */
	display: block; /* 画像をブロック要素にする */
}
p {
	font-size: 1.2em; /* フォントサイズを1.2倍に設定 */
}
}
