@charset "UTF-8";
/* CSS Document */

body{
	font-family: monospace;
}

html {
    scroll-behavior: smooth;
}

header{
	position: sticky;
	top: 0;
	background-color: white;
	width: 100%;
	padding: 10px;
}

header img{
	height: auto;
	min-width: 150px;
	max-width: 200px;
}

.header_01{
	display: flex;
	justify-content: space-between;
	margin: 10px;
}

.header_01 p{
	font-size: 10px;
	text-align: center;
	font-weight: 600;
	font-family: sans-serif;
}

.header_02{
	display: flex;
	justify-content: space-around;
	font-size: calc(0.7em + 0.5vw);
	font-weight: 600;
	padding-top: 10px;
}

a:hover{
	color: deepskyblue;
}

.main_body{
	width: 80%;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
}

p{
	font-size: 15px;
	line-height: 1.8em;
}

ul,
li{
	font-size: 15px;
	line-height: 1.8em;
}

.top_01{
	margin-bottom: 15px;
}

h1{
	font-weight: 700;
	font-size: 21px;
	line-height: 1.8em;
	margin-bottom: 5px;
	padding-top: 10px;
}

mark {
  background: linear-gradient(transparent 60%, paleturquoise 0%);
}

#top_01_p{
	text-align: left;
	max-width: 350px;
	margin: 0 auto;
	border: deepskyblue solid 2px;
	border-left: deepskyblue solid 20px;
	padding: 10px;
	background: #fff;
}

.p_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.p_list{
	max-width: 300px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.p_list img{
	width: 300px;
	height: auto;
}

.p_list p{
	line-height: 1.5em;
}

.btm_01{
	border: deepskyblue solid 2px;
	border-radius: 50px;
	margin: 10px auto;
	padding-top: 3px;
	padding-bottom: 3px;
	width: 45%;
	color: black;
	background-color: white;
	font-weight: 700;
	max-width: 250px;
}

.btm_01:hover{
	background-color: deepskyblue;
}

.btm_01:hover p{
	color: white;
}

footer{
	background-color: lightskyblue;
}

.footer_w{
	width: 80%;
	margin: 0 auto;
}

#btm_flex_01{
	display: flex;
	justify-content: space-evenly;
	text-align: center;
	margin: auto;
	max-width: 500px;
}

#btm_flex_01:hover div{
	border: white solid 2px;
}

.btm_sns{
	width: 50%;
	margin: auto;
	text-align: center;
}

.btm_sns img{
	width: 30%;
	height: auto;
	margin: 5px;
	max-width: 50px;
}

footer hr{
	border: solid 1px white;
}

.detail{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.detail p{
	padding-bottom: 15px;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: deepskyblue;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
	box-shadow: 0 3px 5px rgb(0 0 0 / 30%);
}

.pagetop_arrow {
    height: 15px;
    width: 15px;
    border-top: 3px solid white;
    border-right: 3px solid white;
    transform: translateY(20%) rotate(-45deg);
}

#p_category{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

#p_category li{
	padding: 5px;
}

hr{
	margin: 10px auto;
	border: solid 0.5px black;
}

h2{
	font-weight: 700;
	font-size: 18px;
	line-height: 1.8em;
	padding-top: 10px;
}

#th_at{
	margin: 10px auto;
	border: 2px solid deepskyblue;
	border-radius: 10px;
	padding: 5px;
	max-width: 700px;
	background-color: white;
}

h3{
	font-size: 15px;;
	font-weight: 600;
	line-height: 1.8em;
}

#th_at ul{
	list-style-type: disc;
	text-align: left;
	width: 80%;
	margin: auto;
}

#th_ex{
	margin: 0 auto;
	max-width: 550px;
}

#th_ex ul{
	list-style-type: decimal;
	text-align: left;
	width: 90%;
	margin: auto;
}

#th_pay{
	text-align: left;
	margin: 0 auto;
	max-width: 550px;
}

#th_pay ul{
	list-style-type: disc;
	color: red;
	margin-left: 15px;
	margin-top: 5px;
}

details{
	border: 1px solid gray;
	border-radius: 3px;
	padding-left: 10px;
	margin: 10px 0px;
	background-color: white;
}

summary{
	font-size: 15px;
	line-height: 1.8em;
}

details[open] summary{
	padding-bottom: 5px;
}

form{
	text-align: left;
	width: 50%;
	min-width: 300px;
}

input{
	border: 1px solid gray;
	appearance: revert;
	margin-right: 5px;
	margin-bottom: 10px;
}

textarea{
	border: 1px solid gray;
	width: 100%;
	min-height: 50px; 
	font-size: 15px;
	margin-bottom: 10px;
	field-sizing: content;
}

.cb_1_p_name{
	display: flex;
	align-items: baseline;
}

.form_pay_check{
	display: flex;
	align-items: baseline;
	margin-bottom: 10px;
}

.form_pay_check p{
	line-height: 1.2em;
}

#checkbox_2{
	display: flex;
	align-items: baseline;
}

#checkbox_2 p{
	line-height: 1.2em;
}

.btm_02{
	border: deepskyblue solid 2px;
	border-radius: 50px;
	margin: 10px auto;
	padding: 3px 0px;
	width: 33%;
	height: auto;
	color: black;
	background-color: white;
	font-weight: 700;
	max-width: 150px;
}

.btm_02:hover{
	background-color: deepskyblue;
}

.btm_02:hover p{
	color: white;
}

#btm_flex_02{
	display: flex;
	justify-content: space-evenly;
	margin: auto;
	max-width: 600px;
}

.htu_sub{
	background-color: darkgray;
	color: white;
	margin: 5px auto;
}

.htu_flex{
	width: 100%;
	max-width: 1000px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 auto;
}

.htu_flex_item{
	width: 45%;
	height: auto;
	min-width: 300px;
	margin: 10px auto;
}

.htu_flex_item p{
	text-align: left;
}

.htu_flex_item img{
	width: 70%;
	height: auto;
	margin: 10px auto;
}

.htu_flex_item ul{
	text-align: left;
	margin-left: 15px;
}

table{
	border: 1px solid black;
	border-collapse: collapse;
	width: 80%;
	height: auto;
	text-align: left;
	margin: 0 auto;
	min-width: 300px;
}

th,
td{
	border: 1px solid black;
	padding: 5px 10px;
}

th{
	background-color: aliceblue;
	vertical-align: middle;
	width: 30%;
}

td{
	background-color: white;
}

.inquiry_box{
	width: 100%;
	height: auto;
	background-color: white;
	padding: 10px;
	margin: 10px auto;
	border-radius: 10px;
}

.inquiry_box ul{
	list-style-type: disc;
	width: 50%;
	min-width: 200px;
	max-width: 280px;
	text-align: left;
	margin: 10px auto;
	padding-left: 5px;
}

.btm_03{
	border: deepskyblue solid 2px;
	border-radius: 50px;
	margin: 10px auto;
	padding: 5px;
	width: 100%;
	height: auto;
	color: white;
	background-color: deepskyblue;
	font-weight: 700;
	max-width: 200px;
}

.btm_03:hover{
	border: deepskyblue solid 2px;
	background-color: white;
}

.btm_03:hover p{
	color: black;
}

.inquiry_box details{
	width: 90%;
	margin: 10px auto;
	min-width: 250px;
	max-width: 700px;
	border: 1px solid skyblue;
	background-color: skyblue;
	color: white;
	border-radius: 5px;
}

.inquiry_box summary{
	text-align: left;
	margin: 5px;
}

.inquiry_box details p{
	border: 1px solid skyblue;
	border-radius: 5px;
	background-color: white;
	color: black;
	text-align: left;
	padding: 10px;
}