@charset "utf-8";

* {
	margin:0;
	padding:0;
}
body {
	background:#eeeeee;
	font-size:13px;
	color:#000;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.login-page {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}
img {
	border:0;
	vertical-align:bottom;
}

ol{
list-style-position:inside;
}
.kaisen{
font-size: 1rem;
margin-bottom: 10px;
}
.kaisen dt{
display: inline-block;
width: 75px;
font-weight: bold;
}
.kaisen dd{
padding-left: 1rem;
}
.scroll{
width: 100%;
overflow-x: scroll;
}
/*レイアウト--------------------*/
#wrapper {
	margin:0 auto;
	/*width:800px;*/
	border-left:1px solid #888888;
	border-right:1px solid #888888;
	border-bottom:1px solid #888888;
}
#contents{
	/*width:740px;*/
	margin:0 auto;
	padding:10px 30px 10px 30px;
	background:#fff;
	font-size:100%;

}


#tour{
	margin:0 auto;
	padding:10px 0px 10px 0px;
	background:#fff;
	font-size:100%;
	line-height:1.5;
}

/*見出し--------------------*/

h1{
	text-align:center;
	margin:0px;
}


h2 {
	margin-bottom: 5px;
	padding: 5px 0;
	text-indent: 1em;
	background-color: #bd2c2d;
	-webkit-border-top-left-radius: 10px;
	-webkit-border-top-right-radius: 10px;
	-webkit-border-bottom-right-radius:10px;
	-webkit-border-bottom-left-radius:10px;
	-moz-border-radius-topleft: 10px;
	-moz-border-radius-topright: 10px;
	-moz-border-radius-bottomright: 10px;
	-moz-border-radius-bottomleft: 10px;
	width:100%;
	font-size:21px;
	font-weight:bolder;
	color:#ffffff;
	font-family:"メイリオ",Meiryo,sans-serif;
}

h3 {
	margin:15px 0 5px 0;
	padding-bottom:0px;
	border-bottom:2px dotted #bd2c2d;
	font-weight:bold;
	color:#bd2c2d;
	font-size:15px;

}
h3.date{
font-size: 1.2rem;
position: relative;
padding-left: 1.5rem;
border: none;
}
h3.date:before{
position: absolute;
content: "●";
top: 0;
left: 0;
}
/*ul--------------------*/

.lista ul li{
/*	margin-left:25px;
	margin-right:25px;*/
}
.listb ul li{
	list-style-type: decimal;
/*	margin-left:25px;
	margin-right:25px;*/
}
.listc ul li{
	list-style-type: none;
/*	background:url(img/list_bg.gif) no-repeat 0 6px;
	padding-left:13px;
	margin-left:0px;*/

}


/*フォント--------------------*/

.font90 {
	font-size:90%;
}
.font80 {
	font-size:90%;
}
.font120 {
	font-size:120%;
}


.font10 {
	font-size:10px;
}
.font11 {
	font-size:11px;
}
.font12 {
	font-size:12px;
}
.font13 {
	font-size:13px;
}
.font14 {
	font-size:14px;
}
.font15 {
	font-size:15px;
}
.font16 {
	font-size:16px;
}
.font18 {
	font-size:18px;
}
.font20 {
	font-size:20px;
}
.font24 {
	font-size:24px;
}
.font28 {
	font-size:28px;
}
.att{
	color: red;
}
/*ヘッダー--------------------*/


#header{
background:#000;
}

/*テーブル--------------------*/
table.setsumei {
	border-collapse:collapse;
	border-spacing:0;
	margin-bottom:5px;
	
}

table.setsumei th {
	background:#d0e0f4;
	color:#d0e0f4;

	font-weight:bold;
	padding:5px 12px;
	border:1px solid #666;
}
table.setsumei td {
	background:#92D4F5;
	padding:5px 12px;
	border:1px solid #666;
	color:#0F2F8E;
	font-size:14px;
	text-align:left;
}


/*お湯コンリスト------------*/
table.list {
	border-collapse:collapse;
	border-spacing:0;
	margin-bottom:5px;
	font-size:13px;
}

table.list th {
	background:#FCC8E8;
	color:#ffffff;
	text-align:center;
	font-weight:bold;
	padding:5px 12px;
	border:1px solid #666;
}
table.list td {
	padding:5px 12px;
	border:1px solid #666;
}



/*行程表------------*/
#tour table.sch{
	border-collapse:collapse;
	border-spacing:0;
	margin-bottom:5px;
	font-size:13px;
	border-bottom:1px solid #666;
}

#tour table.sch th {
	background:#d1d1d1;
	color:#000000;
	text-align:center;
	font-weight:bold;
	padding:5px 12px;
	border:1px solid #666;
}
#tour table.sch td {
	padding:5px 12px;
	border-left:1px solid #666;
	border-right:1px solid #666;
	
	
}

.endline{
	padding-bottom:10px;
	border-bottom:1px solid #666;
}
.mark{
	font-size:13px;
}
/*テーブルプライス------------*/

#tour table.price{
	/*width: 100%;*/
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-collapse:collapse;
	border-spacing:0;
}
#tour table.price th{
	font-weight: bolder;
	color: #ffffff;
	border: 1px solid #000000;
	padding: 5px;
	vertical-align : middle ;
}

#tour table.price td{
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 10px;
	padding-left: 10px;
	color: #111111;
	border: 1px solid #000000;
	background-color: #ffffff;

	vertical-align : middle ;
}

/*テーブル一般ボーダー------------*/

#tour table.border{
	/*width: 100%;*/
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-collapse:collapse;
	border-spacing:0;
}
#tour table.border th{
	font-weight: bolder;
	background-color: #9CB5E0;
	color: #ffffff;
	border: 1px solid #000000;
	padding: 5px;
	vertical-align : middle ;
}

#tour table.border td{
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 10px;
	padding-left: 10px;
	color: #111111;
	border: 1px solid #000000;
	background-color: #ffffff;

	vertical-align : middle ;
}
#tour table.border td p{
	padding-bottom:5px;
}

#tour table.border td .txtlong{
	width:70%;
}
/*マージン------------*/
.mB20{margin-bottom: 20px;}

/*お申込み方法------------*/
.step {
	border: 1px solid #000000;
	width:698px;
	padding: 10px;
	background-color: #FFFFEE;
	margin-bottom: 10px;
	/*margin-left: 15px;*/
}
.step_num {
	font-size: 150%;
	width:720px;
	font-weight: bolder;
	color: #FFFFFF;
	background-color: #000000;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	/*margin-left:15px;*/
}
#tour .arrow {
	text-align: center;
	margin-bottom: 10px;

}
#tour .step #bank {
	background-color: #FFFFFF;
	border: 1px solid #666666;
	padding: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
}
.arr {
	margin:10px 0;
	text-align:center;
}
.bank {
	margin: 15px auto;
	padding:10px;
	border:1px solid #ccc;
	width: 90%;
	background: #FFFFFF;
}
.box {
	padding:5px 10px;
	border:1px solid #666;
}
.box2 {
	padding:5px 10px;
	font-weight: bold;
	margin: 5px;
	color: #e5434a;
	background: #ffeff0;
	border: 1px solid #e5434a;
	border-radius: 3px;
	text-align: center;
}

/*フッター------------*/
/*.kntlogo {
	float: right;
}*/
.code {
	text-align: center;
	margin-top: 30px;
}
button a{
    text-decoration: none!important;
    color: #fff;
}

button{
    padding: 15px;
    font-size: 1.2rem;
    font-weight: bold;
    background: #bd2c2d;
    background-color: #bd2c2d;
    background-image: linear-gradient(180deg, #bd2c2d 50%, #ff4d4f 100%);
    border-style: none;
    border-radius: 15px;
    box-shadow: 0px 2px 2px #565656;
    line-height: 3rem;
    color: #FFFFFF;
    width: 100%; /* スマホで幅いっぱいに */
    box-sizing: border-box; /* パディングを含めた幅計算 */
}

button.student{
    padding: 0;
    margin: 5px 0;
    background-color: #ff1a1a;
    background-image: linear-gradient(180deg, #ff1a1a 55%, #f27e00 100%);
}

button:hover,
button a:hover{
    opacity: 0.5;
    transform: translateY(3px);
}

/* スマホサイズ用のメディアクエリ */
@media screen and (max-width: 768px) {
    button {
        font-size: 1rem; /* フォントサイズを少し小さく */
        padding: 8px 12px; /* パディングを調整 */
        line-height: 2.5rem; /* 行の高さを調整 */
        margin: 8px 0; /* 上下のマージンを追加 */
    }
    
    button.student {
        padding: 8px 12px; /* studentボタンにもパディングを追加 */
        margin: 8px 0;
    }
}

/* より小さいスマホサイズ用 */
@media screen and (max-width: 480px) {
    button {
        font-size: 0.9rem;
        padding: 6px 10px;
        line-height: 2.2rem;
        border-radius: 12px; /* 角丸を少し小さく */
    }
    
    button.student {
        padding: 6px 10px;
    }
}
.center_map{
display: block;
margin: 25px auto;
text-align: center;
}

.center_map_2{
display: block;
margin-top: 15px auto;
text-align: center;
}
/* 募集要項 */
.hidden-checkbox {
    display: none;
}
        
.item {
margin: 10px 0;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
        
 .header_content {
padding: 5px 10px 5px 22px;
background: #bd2c2d;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
color: white;
font-size:20px;
font-weight:bolder;
color:#ffffff;
ont-family:"メイリオ",Meiryo,sans-serif;
        }
        
.header_content:hover {
background: #d13a3d;
        }        
        
.content_ai {
 display: none;
 padding: 30px;
background: white;
text-align: left;
        }
        
input:checked + .header_content + .content_ai {
display: block;
        }
        
.plus {
color: #ffffff;
font-weight: 900;
font-size: 20px;
        }
        
.plus::before { 
content: "+"; 
}
        
input:checked + .header_content .plus::before { 
content: "−"; 
        }
.content_ai div {
 padding: 5px 0;
color: #000000;
        }

@media screen and (min-width:501px) { 
#wrapper{
max-width: 800px;
	margin:0 auto;
	width:100%;
}
#contents{
	margin:0 auto;
	width:90%;
    padding: 0 5%;
}
.step {
	width:698px!important;
}
.step_num {
	width:720px!important;
}
.kntlogo {
	float: right;
}
.flex{
display: flex;
width: 100%;
justify-content: space-between;
gap: 15px;
margin: 25px 0;
}
.flex_a{
display: flex;
width: 100%;
justify-content: space-around;
gap: 15px;
margin: 25px 0;
}
button{
width: 60%;/*width: calc(100% / 3);*/
}
.for_sp{
display: none;
}
.kaisen dd{
display: inline-block;
}
.center_map{
display: block;
margin: 25px auto;
}

.center_map_2{
display: block;
margin-top: 15px auto;
}
.center_map img{
width: 60%;
}
	

}
@media screen and (max-width:500px) { 
#wrapper{
max-width: 500px!important;
	margin:0 auto;
	width:100%;
}
#contents{
	margin:0 auto;
/*	width:98%!important;
    padding: 0 5%!important;*/
}
.step {
	width: calc(100% - 10px)!important;
	padding: 4px;
	background-color: #FFFFEE;
	margin-bottom: 10px;
	/*margin-left: 15px;*/
}
.step_num {
	font-size: 150%;
	width:100%!important;
	font-weight: bolder;
	color: #FFFFFF;
	background-color: #000000;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	/*margin-left:15px;*/
}
.flex,
.flex_a{
display: block;
margin: 25px auto;
width: 100%;
text-align: center;
}
button{
width: 90%;
margin: 0 auto 15px;
}
.center{
display: block;
width: 100%;
margin: 25px 0;
text-align: center;
}
.for_pc{
display: none;
}
.kaisen dd{
display: block;
}
.center_map img{
width: 100%;
}
}

/*スライドショー;*/
.slideshow-container {
    max-width: 800px;
    position: relative;
    margin: auto;
    width: 100%;
    height: 500px;
    overflow: hidden;
    background-color: #ffffff;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out; /* フェード効果 */
}

.slide.active {
    opacity: 1;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* 写真提供テキスト */
.photo-credit {
    position: absolute;
    bottom: 10px;
    right: 15px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 5px 10px;
    font-size: 12px;
    font-family: 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
    border-radius: 3px;
    z-index: 10;
    pointer-events: none; /* クリックを無効化 */
}

/* レスポンシブデザイン */
@media screen and (max-width: 768px) {
    .slideshow-container {
        max-width: 100%;
        height: 300px;
    }
    
    .slide {
        transition: opacity 1.2s ease-in-out; /* モバイルでは少し速く */
    }
    
    .photo-credit {
        font-size: 10px;
        bottom: 8px;
        right: 12px;
        text-shadow: 
            -1px -1px 0 #000,
            1px -1px 0 #000,
            -1px 1px 0 #000,
            1px 1px 0 #000;
    }
}

@media screen and (max-width: 480px) {
    .slideshow-container {
        height: 250px;
    }
    
    .slide {
        transition: opacity 1s ease-in-out;
    }
    
    .photo-credit {
        font-size: 9px;
        bottom: 6px;
        right: 10px;
        text-shadow: 
            -1px -1px 0 #000,
            1px -1px 0 #000,
            -1px 1px 0 #000,
            1px 1px 0 #000;
    }
}
