/* --------------------------------- ///////////////////////////////// リセット */
/* --------------------------------- /////////////// フォントサイズリセット */
html {text-align: justify;}
/* --------------------------------- /////////////// ボディー全体の余白削除 */
body {margin: 0px; padding: 0px;}
/* --------------------------------- /////////////// imgの設定（ボトム余白削除など） */
img, video, iframe {vertical-align: bottom;}

/* --------------------------------- ///////////////////////////////// 全体共通パーツ */
.out {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

@font-face {
	font-family: 'Yusei Magic';
	src: url('../font/YuseiMagic-Regular.ttf') format('truetype');
}

.mt0 {margin-top: 0;}
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}

body {
    color: #333;
    font-size: 1rem;
	font-family: 'Arial', 'Helvetica', sans-serif;
	background-color: #fff;
	background-image: url(../img/bg.jpg);
	background-position: left top;
	background-repeat: repeat;
}

.table01, .table02 {
	border-collapse: collapse;
	line-height: 1.2;
	width: 648px;
}

.table01 th, .table02 th {
	border: 1px solid #ccc;
	font-weight: normal;
	text-align: center;
	padding: 11px 11px;
	background-color: #eee;
}

.table01 td {
	border: 1px solid #ccc;
	text-align: center;
	padding: 11px 11px;
	background-color: #fff;
}

.table02 td {
	border: 1px solid #ccc;
	text-align: left;
	padding: 11px 11px;
	background-color: #fff;
}

/* --------------------------------- ///////////////////////////////// header */
#header_des {
	background: rgb(255,210,239);
	background: linear-gradient(180deg, rgba(255,210,239,1) 0%, rgba(255,210,239,1) 90%, rgba(214,189,205,1) 100%);
	min-width: 100%;
	min-width: max-content;
}

#header_des h1 {
	width: 930px;
	margin: 0px auto;
	padding: 10px 0;
	font-size: 1rem;
	font-weight: normal;
}

#header_des h1 strong {font-weight: normal;}


#header_main {
	min-width: 100%;
	min-width: max-content;
	background-image: url(../img/bg_header.jpg);
	background-position: center top;
	background-repeat: no-repeat;
}

#header_mainbox{
	width: 930px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header_logo {
	background-image: url(../img/logo.png);
	width: 324px;
	height: 61px;
}

#header_logo h2 {margin: 0;}

#header_logo a {
	display: block;
	width: 324px;
	height: 61px;
}

#header_contact {
	width: calc(930px - 324px);
	padding: 10px 0 15px;
}

#header_contact p {
	text-align: right;
	margin: 0;
}

.header_contact_tel {
	font-size: 2rem;
	font-family: sans-serif;
	font-weight: bold;
	color: #CE1E60;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

.header_contact_time {
	padding-top: 5px;
	font-size: 1rem;
	font-family: sans-serif;
	font-weight: bold;
	color: #0c537c;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

.header_contact_addr {
	padding-top: 7px;
	font-size: 1rem;
	font-family: sans-serif;
	font-weight: bold;
	color: #0c537c;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

.header_contact_addr strong {font-weight: bold;}

/* --------------------------------- ///////////////////////////////// nav */
nav {
	min-width: 100%;
	min-width: max-content;
	background: rgb(67,151,183);
	background: linear-gradient(180deg, rgba(67,151,183,1) 0%, rgba(73,163,198,1) 5%, rgba(73,163,198,1) 95%, rgba(67,151,183,1) 100%);
}

#menubox {
	width: 930px;
	margin: auto;
}

#menubox ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

#menubox ul li {
	flex-grow: 1;
	text-align: center;
}

#menubox ul li a {
	display: block;
	width: auto;
	padding: 20px 0;
	text-decoration: none;
	font-size: 1.2rem;
	font-family: serif;
	font-weight: bold;
	color: #fff;
	text-shadow: 0 0 5px rgba(95, 95, 95, 1);
}

#menubox ul li a:hover, #nav01on, #nav02on, #nav03on, #nav04on {
	background: rgb(67,151,183);
	background: linear-gradient(180deg, rgba(67,151,183,1) 0%, rgba(73,163,198,1) 5%, rgba(73,163,198,1) 69%, rgba(210,240,251,1) 99%, rgba(96,166,193,1) 100%);
}

/* --------------------------------- ///////////////////////////////// footer */
#footer_bg {
	min-width: 100%;
	min-width: max-content;
	background: rgb(214,189,205);
	background: linear-gradient(180deg, rgba(214,189,205,1) 0%, rgba(238,202,226,1) 5%, rgba(238,202,226,1) 95%, rgba(214,189,205,1) 100%);
}

#footer_mainbox{
	width: 930px;
	margin: auto;
	background: rgb(214,189,205);
	background: linear-gradient(180deg, rgba(214,189,205,1) 0%, rgba(238,202,226,1) 5%, rgba(238,202,226,1) 95%, rgba(214,189,205,1) 100%);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#footer_logo {
	background-image: url(../img/logo.png);
	width: 324px;
	height: 61px;
}

#footer_logo h2 {margin: 0;}

#footer_logo a {
	display: block;
	width: 324px;
	height: 61px;
}

#footer_contact {
	width: calc(930px - 324px);
	padding: 10px 0 15px;
}

#footer_contact p {
	text-align: right;
	margin: 0;
}

.footer_contact_tel {
	font-size: 2rem;
	font-family: sans-serif;
	font-weight: bold;
	color: #CE1E60;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

.footer_contact_time {
	padding-top: 5px;
	font-size: 1rem;
	font-family: sans-serif;
	font-weight: bold;
	color: #126a9d;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

.footer_contact_addr {
	padding-top: 7px;
	font-size: 1rem;
	font-family: sans-serif;
	font-weight: bold;
	color: #126a9d;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

.footer_contact_addr strong {font-weight: bold;}

.footer_contact_text {
	padding-top: 10px;
	font-size: 1.3rem;
	margin-right: -8px;
	font-family: sans-serif;
	font-weight: bold;
	color: #126a9d;
	text-shadow:
	3px 3px 3px #fff, -3px -3px 3px #fff,
	-3px 3px 3px #fff,  3px -3px 3px #fff,
	3px 0 3px #fff, -3px  0 3px #fff,
	0 3px 3px #fff,  0 -3px 3px #fff;
}

#footer_copy {
	min-width: 100%;
	min-width: max-content;
}

#footer_copy p {
	width: 930px;
	margin: 20px auto;
	text-align: center;
}

/* --------------------------------- ///////////////////////////////// index.html top photo */
#header_photo {
	width: 100%;
	height: 431px;
	background-image: url(../img/img_header.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	text-align: center;
}

/* --------------------------------- ///////////////////////////////// text title（イラスト羽文章） */
#text_title {
	width: 930px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#text_title_box {
	display: flex;
	justify-content: center;
}

#text_title_box p {
	font-family: 'Yusei Magic';
	color: #805717;
	font-size: 1.3rem;
	margin: 0;
	padding: 0 10px;
	text-shadow:
	5px 5px 5px #fff, -5px -5px 5px #fff,
	-5px 5px 5px #fff,  5px -5px 5px #fff,
	5px 0 5px #fff, -5px  0 5px #fff,
	0 5px 5px #fff,  0 -5px 5px #fff;
}

.text_title_wing_left {
	display: block;
	background-image: url(../img/wing_l.png);
	width: 56px;
	height: 59px;
}

.text_title_wing_right {
	display: block;
	background-image: url(../img/wing_r.png);
	width: 56px;
	height: 59px;
}

/* --------------------------------- ///////////////////////////////// content / index_main / side / mein */
#content {
	width: 930px;
	margin: auto;
	display: flex;
}

#main {
	width: 650px;
	order: 1;
	padding-left: 30px;
}

.main_title {
	border: 1px solid #E9C3DC;
	text-align: center;
	font-weight: bold;
	color: #805717;
	font-size: 1.4rem;
	background: rgb(255,230,246);
	background: linear-gradient(180deg, rgba(255,230,246,1) 0%, rgba(238,186,220,1) 100%);
	padding: 10px 10px;
	margin: 0;
	margin: 40px 0;
	border-radius: 5px;
}

#side {
	width: 250px;
}

.side_title {
	border: 1px solid #E9C3DC;
	text-align: center;
	font-weight: bold;
	color: #805717;
	font-size: 1.3rem;
	background: rgb(255,230,246);
	background: linear-gradient(180deg, rgba(255,230,246,1) 0%, rgba(238,186,220,1) 100%);
	padding: 10px 10px;
	margin: 20px 0;
	border-radius: 5px;
}

/* --------------------------------- ///////////////////////////////// index.html */
#index_main {
	width: 930px;
	text-align: center;
}

#index_main p strong {font-weight: normal;}

/* --------------------------------- ///////////////////////////////// flow.html */
.parent {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(6, 1fr);
	grid-column-gap: 30px;
	grid-row-gap: 50px;
	text-align: center;
}

.div1 {grid-area: 1 / 1 / 2 / 3; display: grid; align-items: center;}
.div2 {grid-area: 2 / 1 / 3 / 3; display: grid; align-items: center;}
.div3 {grid-area: 3 / 1 / 4 / 2; display: grid; align-items: center;}
.div4 {grid-area: 3 / 2 / 4 / 3; display: grid; align-items: center;}
.div5 {grid-area: 4 / 1 / 5 / 3; display: grid; align-items: center;}
.div6 {grid-area: 5 / 1 / 6 / 2; display: grid; align-items: center;}
.div7 {grid-area: 5 / 2 / 6 / 3; display: grid; align-items: center;}
.div8 {grid-area: 6 / 1 / 7 / 2; display: grid; align-items: center;}
.div9 {grid-area: 6 / 2 / 7 / 3; display: grid; align-items: center;}

.flow_grey p, .flow_pink p {
	margin: 0;
}

.flow_subtext {
	font-size: 0.8rem;
	font-weight: normal;
}

.flow_grey {
	border: 1px solid #ccc;
	width: calc(100% - 22px);
	font-size: 1.3rem;
	font-weight: bold;
	color: #805717;
	padding: 10px;
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(239,239,239,1) 100%);
	position: relative;
	border-radius: 10px;
}

.flow_pink {
	border: 1px solid #e6c6dd;
	width: calc(100% - 22px);
	font-size: 1.3rem;
	font-weight: bold;
	color: #805717;
	padding: 10px;
	background: rgb(254,231,249);
	background: linear-gradient(180deg, rgba(254,231,249,1) 0%, rgba(255,213,241,1) 100%);
	position: relative;
	border-radius: 10px;
}

.flow_line_01::before {
	content: '';
	position: absolute;
    top: calc(100% + 1px);
    left: calc(50% - 10px);
	background-color: #8EC3D9;
	height: 50px;
	width: 20px;
}

.flow_line_01_last::before {
	content: '';
	position: absolute;
    top: calc(100% + 1px);
    left: calc(50% - 10px);
	background-color: #8EC3D9;
	height: 20px;
	width: 20px;
}

.flow_line_01_end::before {
	content: '';
	position: absolute;
    top: calc(tan(-60deg) * 40px / 2);
    left: calc(50% - 30px);
	background-color: #8EC3D9;
    height: calc(tan(60deg) * 40px / 2);
    width: 60px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.flow_line_02::before {
	content: '';
	position: absolute;
    top: calc(100% + 1px);
    left: calc(155px - 10px);
	background-color: #8EC3D9;
	height: 50px;
	width: 20px;
}

.flow_line_02::after {
	content: '';
	position: absolute;
    top: calc(100% + 1px);
    right: calc(155px - 10px);
	background-color: #8EC3D9;
	height: 50px;
	width: 20px;
}


/* --------------------------------- ///////////////////////////////// お知らせ */
.news {
	width: 928px;
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #d41212;
}

.news_title {
	background-color: #d41212;
	padding: 15px 30px;
	color: #fff;
	font-weight: bold;
	margin: 0;
}

.news_contents_box {
	padding: 0 30px;
}

.news_span {
	border-bottom: 1px solid #f18c32;
	background-color: #fff09a;
	font-weight: bold;
}