
@import url(webfont.css);



/* ＰＣ用ＣＳＳ */

/* ヘッダー */

#header{
    background:#0d3d91;
	width: 100%;
	height: auto;
}

.header-container {
	margin-left: auto;
	margin-right: auto;
}

.header-inner{
   max-width:1600px;     /* 1400〜1600pxで調整 */
    margin:0 auto;
    padding:20px 5px;    /* 左右40px */
    box-sizing:border-box;
	display: flex;
	align-items: center;
}

.logo-area{
	display: flex;
	justify-content: space-around;
	align-items: center;
	column-gap: 10px;
	margin-right: 20px;
}


.header-right-outer{
    margin:0;
    flex:none;
}

.header-right img{
    max-width:100%;
    height:auto;
}
.logo-area{
    margin-right:2%;
}

.logo-area h1{
    margin:0;
}

.tel{
    font-size:16px;
    font-weight:bold;
	margin: 8px 8px 0;
	color: #ffffff;
}

/* PCメニュー */

#global-nav{
    width:auto;
}

#global-nav ul{
   display:flex;
    justify-content:space-between;
    gap:8px;
    list-style:none;
    padding:0;
    width:auto;
}

#global-nav li{
	flex:1;
}

#global-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(5px,0.5vw,10px);
    box-sizing:border-box;
    background:#fff;
    color:#0d3d91;
    text-decoration:none;
     padding:clamp(8px,1vw,15px) clamp(5px,0.8vw,12px);
    white-space:nowrap;
    border-radius:8px;
    font-weight:bold;
    transition:.3s;
	font-size:clamp(12px,1.1vw,16px);
}

#global-nav a img{
    width:clamp(25px, 2vw, 32px);
    height:34px;
}

#global-nav a:hover{
    background:#e8f0ff;
    transform:translateY(-3px);
}

#mv{
    position:relative;
}

.top-grid,
.flexbox,
.box{
    max-width:1320px;
    margin:0 auto;
}

#main{
    width:100%;
}

#main h1{
    margin:0;
}

.contents{
    max-width:1400px;
    margin:0 auto;
    padding:0 20px;
    box-sizing:border-box;
	display: flex;
	column-gap: 20px;
}

.left-contents{
	width: 55%
}
.right-contents{
	width: 45%;
	margin-top: 40px;
}
.right-image{
	display:block;
    width:100%;
    max-width:450px;
    height:auto;
    margin:0 auto;
}
.right-text {
	max-width:450px;
    margin:15px auto 30px;
	font-size: 16px;
}

.main-slider img{
    width:100%;
    height:auto;
    object-fit:cover;
    display:block;
    border-radius:10px;
}

.mv-copy{
	position:absolute;
    right:50%;
    bottom:30px;
    transform:translateX(50%);

    width:70%;
    max-width:780px;
    height:auto;

    padding:10px;

    color:#333;
    font-weight:bold;
     font-size:clamp(16px,1.5vw,25px);
    text-shadow:
        3px 3px 3px #fff,
       -3px -3px 3px #fff,
       -3px 3px 3px #fff,
        3px -3px 3px #fff,
        3px 0px 3px #fff,
       -3px 0px 3px #fff,
        0px 3px 3px #fff,
        0px -3px 3px #fff;

    margin:0;

    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

#wrapper{
    width:100%;
}

.header-image {
	width: 100%;
	height: auto;
}

.header-top {
	display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
}

.header-top-wrapper {
	display: flex;
	align-items: center;
	column-gap: 15px;
}

.header-image02 {
	width: 100%;
	height: auto;
}

/* ハンバーガー */

.menu-btn{
    display:none;
}

/* ==========================
   旧サイト移植用
========================== */

.flexbox{
	display:flex;
    justify-content:center;
    gap:30px;
    margin:40px auto;
}

.flexbox li{
	list-style:none;
	flex:1;
	background:#fff;
	padding:20px;
	border-radius:10px;
	box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.box{
    background:#fff;
    padding:30px;
    margin-bottom:40px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.box h2,
.box h3{
	color:#0d3d91;
	margin-bottom:15px;
	margin-top: 5px;
	font-size: 18px;
}

.innerbox{
	background:#fff;
}

.innerbox dt{
	font-weight:bold;
	color:#0d3d91;
	margin-top:10px;
	margin-bottom:10px;
}

.innerbox dd{
	margin-bottom:15px;
}

#time table
{
	width:100%;
	margin-bottom:15px;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid #d9e1ee;
    border-radius:10px;
    overflow:hidden;
	
	
}

#time td{
	border:1px solid #ddd;
	padding:10px;
	text-align:center;
}

#time td,
#time th{
    border-right:1px solid #d9e1ee;
    border-bottom:1px solid #d9e1ee;
    text-align:center;
}

#time tr:last-child td,
#time tr:last-child th{
    border-bottom:none;
}

#time td:last-child,
#time th:last-child{
    border-right:none;
}

#time th{
    background:#0d3d91;
    color:#fff;
    font-size:18px;
    font-weight:bold;
    padding:5px 0;
}

#time th:first-child{
    width:210px;
}

#time td{
    height:70px;
}

#time td.inspection{
    color:#0d3d91;
    font-size:18px;
    font-weight:bold;
    letter-spacing:.15em;
    text-align:center;
    vertical-align:middle;
}

#time td.inspection span{
    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    height:100%;

    writing-mode:vertical-rl;
    -webkit-writing-mode:vertical-rl;
    text-orientation:upright;
    -webkit-text-orientation:upright;

    line-height:1;
    letter-spacing:0;
}

.inspection span{
    display:inline-block;
    writing-mode:vertical-rl;
    -webkit-writing-mode:vertical-rl;
    text-orientation:upright;
    -webkit-text-orientation:upright;
}


#time td.ok{
	color:#f39800;
	font-weight:bold;
	font-size: 18px;
}

.ampm {
	font-size: 18px;
	font-weight: bold;
}

.tcy {
  text-combine-upright: all;
}

#time_html{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}

#time_html th,
#time_html td{
    text-align:center;
    vertical-align:middle;
    padding:10px;
    border:1px solid #ddd;
}

#time_html td{
    height:70px;
}
#holiday{
	line-height:1.8;
	margin: 0;
}

#telnumber{
	font-size:28px;
	font-weight:bold;
	color:#0d3d91;
}

#newsList p{
	padding:10px 0;
	border-bottom:1px solid #ddd;
}

#newsList a{
	color:#333;
	text-decoration:none;
}

#newsList a:hover{
	color:#0d3d91;
}

ul{
	list-style:none;
	padding:0;
	margin:0;
}

dd#qrcode{
	background-image:url(../image/qrcode.jpg);
	background-position:300px 0px;
	background-repeat:no-repeat;
	height:55px;
	margin-bottom:0;
	padding:0;

}

.timeinner-wrapper {
	display: flex;
	flex-direction: column;
	column-gap: 10px;
}
.timeinner01{
	width: 100%;
}

.time-note{
    margin-top:15px;
    padding-top:15px;
    border-top:2px dashed #c8d8ef;
}

.note{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:5px;
}

.note h4{
    margin:0 0 3px;
    color:#0d3d91;
    font-size:18px;
    font-weight:bold;
}

.note p{
    margin:0;
    line-height:1.8;
    font-size:16px;
}


.footer-text{    
	background: #0d3d91;
    color: #fff;
	text-align: end;
	padding: 20px 25px;
	font-size: 14px;
}
.pc-none {
	display: none;
}
.sp-none {
		display: inline;
	}
.sp-photo{
    display:none;
}
.sp-gallery{
    display:none;
}
.sp-photo-box{
    display:none;
}

.sp-copy{
    display:none;
}


/* about.html 写真オンマウス */



div#exGallery{
	max-width:700px;
    width:100%;
    margin:0 auto;
    box-sizing:border-box;

}

div#exGallery ul{
	display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;

    margin:15px 0 0;
    padding:0;
}

#large img{
    width:100%;
    height:auto;
    display:block;
}



div#exGallery ul li{
	float:left;
	padding-right:7px;

}

div#exGallery ul li img{
	width:72px;
	height:auto;
	border:#fff solid 2px;
}

div#exGallery ul li img:hover{
	border:#ffa366 solid 2px;
	opacity:0.75 ;
 -moz-opacity: 0.75 ;
	cursor:pointer;

}

div#exGallery p{
	line-height:1.6em;
	text-indent:1.0em;
}



div#exGallery #large{
	background-color:#fff;
	display:block;
}



.frame {
	display: inline-block;
	position: relative;
	overflow: hidden; /* 不要部分を消す */
	padding: 6px; /* 6px だけは写真からはみ出す */
}

#main h1{
    background-image:
        linear-gradient(rgba(13,61,145,0.55), rgba(13,61,145,0.55)),
        url("../image/pic12o.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    color:#fff;
    text-align:center;
    text-shadow:0 2px 5px rgba(0,0,0,.3);
    padding:80px 20px;

}
.top-title {
	font-size: 25px;
}

.flexbox-h3 {
	color: #0d3d91;
    margin-bottom: 15px;
    margin-top: 5px;
	font-size: 18px;
}
table#keireki {
	width:100%;
	border-collapse: collapse;
}

table#keireki td{
	background-color:#fff;
	padding:15px 0;
	font-size:16px;
	border-bottom:1px solid #e5e7eb;
	text-align:left;
	vertical-align:top;
}

table#keireki td.title{
	width:200px;
}



table#keireki tr:last-child td{
	border:none;

}

.about-text {
	line-height: 1.5;
	font-size: 16px;
}

/* スライダー矢印 */

.main-slider{
    position:relative;
}

.main-slider .slick-prev,
.main-slider .slick-next{
	z-index:999;
    width:50px;
    height:50px;
}

.main-slider .slick-prev{
    left:-60px;
}

.main-slider .slick-next{
    right:-60px;
}

.main-slider .slick-prev:before,
.main-slider .slick-next:before{
    color:#000 !important;
    font-size:40px !important;
    opacity:1 !important;
}
#mv{
    width:100%;
}

.main-slider{
    width:70%;
    max-width:1400px;
    margin:40px auto 0;
}


.font_red {
    color: #b80101;
	line-height: 1.5;
}

.time-text {
	line-height: 1.5;
}

.time-text01 {
	line-height: 1.5;
	font-weight: bold;
	font-size: 17px;
}

.pc-slider{
    display:block;
}

.sp-slider{
    display:none !important;
}

.annai-bold {
	font-weight: bold;
}

/* SP用ＣＳＳ */

@media screen and (max-width:768px){
	
.box h2,
.box h3{
	color:#0d3d91;
	margin-bottom:10px;
	margin-top: 5px;
	text-align: center;
}
.flexbox h3{
	color:#0d3d91;
	margin-bottom:10px;
	margin-top: 5px;
    text-align:center;
}
	
.tel a{
    color:#fff;
    text-decoration:none;
}	
	
.header-inner{
    width: 100%;
    margin:0 auto;
    padding:15px 0;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: space-around;
}	
	
.header-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    padding:0 15px;
    width:100%;
    box-sizing:border-box;
}
.header-top02 {
	display: flex;
	flex-direction: column;
}

.logo-area{
    margin-right:0;
	column-gap: 10px;
}

.header-right{
    display:flex;
    flex-direction:column;
}
	
.header-right-outer{
    margin-left:auto;
}

.header-image{
    width:100%;
	height: auto;
}

.header-image01{
    width:200px;
}
.header-icon {
	width: 12px	
	}	

.tel{
    font-size:16px;
}

.menu-btn{
    display: block;
    margin-left: auto;
    margin-right:10px;
    font-size: 40px;
    color: #fff;
    background: none;
    border: none;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    cursor: pointer;
    font-weight: bold;
    /* 【追加】メニューより手前に表示させる */
    position: relative;
    z-index: 10000; /* navの9999より上に設定 */
    transition: all 0.3s ease; /* 色変化を滑らかにする */
    
    /* 【追加】クリックしやすいように少し余白を持たせ、綺麗に丸める */
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 50px;
}
/* 【新規追加】メニューが開いている（#global-navにopenがある）時のボタンの見た目 */
  #global-nav.open ~ .menu-btn {
    background: #ffffff; /* 背景色を白に */
  }

#global-nav{
    display:none;

    position:fixed;
    top:120px;
    right:0;

    width:100%;
    height:100vh;

    background-color:rgba(255,255,255,0.7);

    z-index:9999;
}

#global-nav.open{
    display:block;
}

#global-nav ul{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    height:55%;
    gap:30px;
    margin-top: 50px;
    padding:0;
	background-color:rgba(255,255,255,0.7);
}

#global-nav li{
    border:none;
	width:235px;
}

.innerbox dd{
	margin-bottom:15px;
	margin-left: 0;
}	
	
#global-nav a{
    background: #ffffff; /* 背景色を白にする */
    color: #0d3d91;      /* 文字色をネイビーにする */
    
    font-size: 18px;
    padding: 15px 30px;  /* 上下15px、左右30pxの余白を作ってボタンらしくする */
    border-radius: 8px;  /* 角を少し丸くする（PC版と統一） */
    
    display: flex;
    align-items: center;
    justify-content: flex-start; /* アイコンと文字を左詰めに並べる */
    gap: 25px;           /* アイコンと文字の間隔 */
    width: 100%;        /* ボタンの横幅（文字の長さに合わせる場合は削除してください） */
    box-sizing: border-box;
	border: 2px solid #0d3d91;
}
	
body.menu-open{
    overflow: hidden;
    touch-action: none;
}
	
.main-slider{
    width:100%;
    margin:0;
}

/* 画像設定 */
.main-slider img{
    width:100%;
    height:auto;
    object-fit:initial;
    border-radius:10px;
}

/* 矢印を非表示 */
.main-slider .slick-prev,
.main-slider .slick-next{
    display:none !important;
}


.left-contents{
	width: 100%
}	
	
.right-contents {
	display: none;
}
.timeinner-wrapper {
	display: flex;
	column-gap: 20px;
	flex-wrap:wrap;
}

.mv-copy{
    display:none;
}	
	
#mv{
    position:relative;
    margin-bottom:10px;
}	
	
.tel{
    font-size:12px;
    font-weight:bold;
	margin: 1px 3px 0;
}

	.pc-none {
	display: inline;
}
	.sp-none {
		display: none;
	}
.sp-photo{
    display:block;
    margin:20px;
}

.sp-photo img{
    width:100%;
    border-radius:10px;
    display:block;
	 box-shadow:0 5px 15px rgba(0,0,0,.1);
}

.sp-photo p{
    margin-top:12px;
    line-height:1.8;
    font-size:15px;
}
.sp-photo-box{
    display:block;
    background:#fff;
    margin:20px;
    padding:20px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.sp-photo-box h2{
    color:#0d3d91;
    margin:0 0 15px;
    font-size:18px;
	text-align: center;
}

.sp-gallery{
    display:grid;
    grid-template-columns:50% 50%;
    gap:10px;
}

.sp-gallery img{
    width:100%;
    display:block;
    border-radius:8px;
}
.right-text {
	max-width:270px;
    margin:15px auto 5px;
	font-size: 13px;
}
	
.sp-copy{
    display:block;
    margin:20px 20px 10px;
    padding:18px;
    background:rgba(255,255,255,0.75);
    border-radius:10px;
    font-size:16px;
    font-weight:bold;
    line-height:1.8;
    text-align:center;
}
	
.footer-text{    
	background: #0d3d91;
    color: #fff;
	text-align: center;
	padding: 20px 25px;
	font-size: 10px;
}
	
table#keireki {

	width:100%;

	border-collapse: collapse;

}



table#keireki td{
	background-color:#fff;
	padding:15px 0;
	font-size:16px;
	border-bottom:1px solid #e5e7eb;
	text-align:left;
	vertical-align:top;
}



table#keireki td.title{
	width:160px;
}



table#keireki tr:last-child td{
	border:none;
}
	
#time{
    overflow-x:auto;
}

	
.timeinner01{
    flex:1;
    min-width:280px;
}	
	
#main h1{
    background-image:
        linear-gradient(rgba(13,61,145,0.55), rgba(13,61,145,0.55)),
        url("../image/pic12o.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    color:#fff;
    text-align:center;
    text-shadow:0 2px 5px rgba(0,0,0,.3);
    padding:60px 20px;

}	
	
 .pc-slider{
        display:none !important;
    }

    .sp-slider{
        display:block !important;
    }
	
#time td.inspection{
    padding: 4px 2px;
    font-size: 14px;
    letter-spacing: 0;
}

#time td.inspection span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    writing-mode:vertical-rl;
    -webkit-writing-mode:vertical-rl;
    text-orientation:upright;
    -webkit-text-orientation:upright;
}	
	
#time td.ok{
    font-size:16px;
}

#time td.inspection{
    font-size:16px;
    letter-spacing:0;
}

#time td.inspection span{
    font-size:18px;
    line-height:1;
}
	
#time td{
    padding:6px 2px;
}

#time .ampm{
    font-size:13px;
}

#time td.ok{
    font-size:15px;
}

#time td.inspection span{
    font-size:18px;
}
	
	
}
