﻿@charset "utf-8";

/* ------------------------------------------------ */
/* 2025/12/12 update */
/* ------------------------------------------------ */

*{
	margin:0;
	padding:0;
	border:0;
	outline:none;
	}

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	}

.clearfix {
	display:inline-table;
	}

sup{
	font-size:0.5em;
	}



/*============================================================*/
/* smp用の設定*/
/*============================================================*/

@media screen and (max-width:750px){

.smp{display:block;}
#smp{display:block;}
.pc{display:none;}
#pc{display:none;}

body{
	margin:0;
	background-color:#f2f2f2;
	font-family:HiraKakuProN-W3,"ヒラギノ角ゴ Pro W3";
	font-weight:400;
	font-size:15px;
	line-height:25px;
	color:#000000;
	}

body#part-0{
	background-image:url("../images/smp_top_bg.png");
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-size:100% auto;
	}

body#part-1{
	background-image:url("../images/smp_bg.png");
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-size:100% auto;
	}

body#part-2{
	background-image:url("../images/smp_bg.png");
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-size:100% auto;
	}

.wrapper_top{
	width:100%;
	}

.wrapper{
	margin:0px 0px 0px 0px;
	padding:0px 10px 0px 10px;
	/*width:100%;*/
	}

.wrapper .lead{
	margin:0px auto 0px auto;
	padding:20px 0px 20px 0px;
	text-align:left;
	}

.wrapper.bg_main{
	margin:0px 10px 0px 10px;
	padding:20px 10px 20px 10px;
	/*width:100%;*/
	background-color:#fbfbfb;
	border-radius:20px;
	text-align:left;
	position: relative;
	}

.wrapper .inner{
	margin:0px auto 30px auto;
	padding:0px 0px 0px 0px;
	width:100%;
	text-align:left;
	}

.top_part-1{
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	background-image:url("../images/smp_part-1_bg.png");
	background-size:100%;
	background-repeat:no-repeat;
	}

.top_part-2{
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	background-image:url("../images/smp_part-2_bg.png");
	background-size:100%;
	background-repeat:no-repeat;
	}

.top_link{
	margin:0px auto 0px auto;
	text-align:center;
	}

.top_link img{
	margin:0px auto 0px auto;
	}

.movie{
	margin:0px auto 0px auto;
	padding:0;
	aspect-ratio: 16 / 9;
	text-align:center;
	}

.top_index_1a,
.top_index_1b,
.top_index_1c,
.top_index_2a,
.top_index_2b,
.top_index_2c{
	width:320px;
	margin:0px auto 20px auto;
	padding:70px 0px 10px 0px;
	background-image:url("../images/top_index_smp_bg.png");
	background-size:100%;
	background-repeat:no-repeat;
	border-radius:0px 0px 20px 20px;
	}

ul.top_list{
	margin:0px 5px 0px 15px;
	padding:0px 0px 0px 10px;
	list-style:none;
	}

ul.top_list li a{
	font-size:16px;
	font-weight:600;
	line-height:30px;
	color:#00b7df;
	}

ul.top_list li:before{
	margin-left:-1em;
	content:'▼ ';
	color:#bbbbbb;
	font-size:14px;
	}

.box_line{
	margin:20px auto 20px auto;
	padding:50px 10px 10px 10px;
	text-align:left;
	border:1px solid #02b7ec;
	}

.box_cyan{
	margin:20px auto 0px auto;
	padding:10px 10px 10px 10px;
	text-align:left;
	background-color:#f2fcfe;
	}

.box_yellow{
	margin:20px auto 0px auto;
	padding:10px 10px 10px 10px;
	text-align:left;
	background-color:#fffef1;
	}

.box_white{
	margin:20px 0px 10px 0px;
	padding:10px 30px 10px 30px;
	background-color:#ffffff;
	overflow-wrap:break-word;
	}

p.fig img{
	width:100%;
	margin:20px auto 20px auto;
	padding:0px 0px 0px 0px;
	text-align:center;
	}

.label_1{
	position:absolute;
	width:160px;
	margin:10px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#40caf1;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_1b{
	position:absolute;
	width:160px;
	margin:20px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#40caf1;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_2{
	position:absolute;
	width:160px;
	margin:20px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#f89807;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_2b{
	position:absolute;
	width:160px;
	margin:60px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#f89807;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_1:before,
.label_1b:before,
.label_2:before,
.label_2b:before{
	position:absolute;
	content: '';
	top:100%;
	left:0;
	border:none;
	border-bottom:solid 15px transparent;
	border-right:solid 10px #888888;
	}

.mid_title{
	margin:0px 0px 30px 10px;
	padding:60px 0px 0px 0px;
	text-align:left;
	}

.mid_title_2{
	margin:0px 0px 30px 10px;
	padding:50px 0px 0px 0px;
	text-align:left;
	}

.marker_1{
	margin:0px 0px 0px 0px;
	background:linear-gradient(transparent 70%, #ccf1fc 70%);
	font-family:HiraKakuProN-W6,"ヒラギノ角ゴ Pro W6";
	font-weight:600;
	font-size:30px;
	line-height:45px;
	}

.marker_2{
	margin:0px 0px 0px 0px;
	background:linear-gradient(transparent 70%, #fff04f 70%);
	font-family:HiraKakuProN-W6,"ヒラギノ角ゴ Pro W6";
	font-weight:600;
	font-size:30px;
	line-height:45px;
	}

dl.message{
	margin:0px 0px 0px 0px;
	}

dl.message dt{
	margin:20px 0px 10px 1.4em;
	padding:0;
	color:#00b8ee;
	font-size:24px;
	font-weight:600;
	line-height:32px;
	}

dl.message dt:before{
	margin-left:-1.4em;
	content:'─ ';
	color:#00b8ee;
	font-size:24px;
	font-weight:600;
	}

dl.message dt.orange:before{
	margin-left:-1.4em;
	content:'─ ';
	color:#f89807;
	font-size:24px;
	font-weight:600;
	}

dl.message dd{
	margin:10px 0px 40px 0px;
	padding:0;
	font-size:15px;
	line-height:28px;
	}


dl.advice{
	margin:0px 0px 0px 0px;
	}

dl.advice dt{
	margin:20px 0px 10px 0px;
	padding:0px 0px 0px 10px;
	color:#00b8ee;
	font-size:26px;
	font-weight:600;
	line-height:34px;
	border-left:5px solid #00b8ee;
	}

dl.advice dd{
	margin:10px 0px 30px 0px;
	padding:0;
	font-size:15px;
	line-height:28px;
	}

ul.icon_circle{
	margin:0px 0px 10px 20px;
	padding:0px 0px 0px 0px;
	list-style:none;
	}

ul.icon_circle li{
	font-size:15px;
	font-weight:400;
	line-height:26px;
	color:#000000;
	}

ul.icon_circle li:before{
	margin-left:-1.3em;
	content:'● ';
	color:#f89807;
	font-size:15px;
	}

ul.comment_list{
	margin:10px 0px 20px 10px;
	list-style:none;
	}

ul.comment_list li{
	font-size:14px;
	line-height:20px;
	}

.wrapper_bottom{
	width:100%;
	margin:0px auto 0px auto;
	padding:25px 0px 0px 0px;
	background-image:url("../ximages/bottom_bg.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

.wrapper_bottom_1{
	width:100%;
	margin:0px auto 0px auto;
	padding:180px 0px 0px 0px;
	background-image:url("../images/smp_bottom_1_bg.png");
	background-repeat:no-repeat;
	background-size:100%;
	border-radius:0px 0px 40px 40px;
	}

.wrapper_bottom_2{
	width:100%;
	margin:0px auto 0px auto;
	padding:180px 0px 0px 0px;
	background-image:url("../images/smp_bottom_2_bg.png");
	background-repeat:no-repeat;
	background-size:100%;
	border-radius:0px 0px 40px 40px;
	}

ul.bottom_navi{
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	list-style:none;
	width:300px;
	}

ul.bottom_navi li img{
	margin:0px auto 10px auto;
	padding:0;
	width:300px;
	}

.bottom_banner{
	margin:0px auto 0px auto;
	text-align:center;
	}

.bottom_banner a img{
	margin:0px auto 10px auto;
	padding:0;
	width:300px;
	}

footer{
	width:100%;
	margin:0px 0px 0px 0px;
	padding:0px 0px 40px 0px;
	background-color:#ffffff;
	text-align:center;
	}

footer .credit{
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	text-align:center;
	}

footer .credit .contact{
	margin:20px auto 0px auto;
	padding:0;
	}

footer .credit .company_link_2{
	margin:0;
	padding:0;
	}

footer .credit_text{
	width:100%;
	margin:-10px auto 0px auto;
	font-size:14px;
	text-align:center;
	}

.doc_code{
	margin:20px 40px 0px 0px;
	font-size:12px;
	line-height:16px;
	text-align:right;
	}


}



/*============================================================*/
/* PC用の設定*/
/*============================================================*/

@media screen and (min-width:751px){

	.smp{display:none;}
	#smp{display:none;}
	.pc{display:block;}
	#pc{display:block;}


body{
	margin:0;
	background-color:#f2f2f2;
	font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProNW6", "Hiragino Kaku Gothic ProN",system-ui, sans-serif;
	font-weight:400;
	font-size:17px;
	line-height:34px;
	color:#000000;
	}

body#part-0{
	background-image:url("../images/upper_bg_0.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

body#part-1{
	background-image:url("../images/upper_bg_1.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

body#part-2{
	background-image:url("../images/upper_bg_2.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

a:link{   text-decoration:none;       color:#00b7df;}
a:visited{text-decoration:none;       color:#00b7df;}
a:hover{  text-decoration:underline;  color:#00b7df;}
a:focus  {text-decoration:underline;  color:#00b7df;}
a:active{ text-decoration:none;       color:#00b7df;}

a{
	cursor:pointer;
	}

.wrapper_top{
	max-width:1920px;
	margin:0px auto 0px auto;
	text-align:right;
	}

.archive_name{
	float:left;
	}

.wrapper_top header{
	width:680px;
	margin:0px 80px 0px auto;
	text-align:right;
	}

.wrapper_top header .local_navi a img{
	margin:0;
	padding:0;
	}

.wrapper{
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	width:1180px;
	text-align:left;
	}

.wrapper .lead{
	margin:0px auto 0px auto;
	padding:20px 0px 20px 0px;
	width:980px;
	text-align:left;
	}

.wrapper.bg_main{
	margin:0px auto 0px auto;
	padding:20px 0px 100px 0px;
	width:1180px;
	background-color:#fbfbfb;
	border-radius:50px;
	text-align:left;
	position: relative;
	}

.wrapper .inner{
	margin:0px auto 30px auto;
	padding:0px 0px 0px 0px;
	width:780px;
	text-align:left;
	}

.top_part-1{
	width:1170px;
	height:1080px;
	margin:0px auto 0px auto;
	padding:150px 0px 0px 110px;
	background-image:url("../images/top_part-1_bg.png");
	background-repeat:no-repeat;
	}

.top_part-2{
	width:1170px;
	height:1050px;
	margin:0px auto 0px auto;
	padding:150px 0px 0px 110px;
	background-image:url("../images/top_part-2_bg.png");
	background-repeat:no-repeat;
	}

table.layout{
	margin:0px 0px 0px 0px;
	width:1060px;
	border-collapse:collapse;
	}

table.layout td{
	padding:0;
	}

table.layout td a:link img,
table.layout td a:visited img{
	
	}

table.layout td a:hover img,
table.layout td a:active img{
	filter: drop-shadow(15px 15px 20px rgba(50,100,120,0.3));
	}

.box_line{
	margin:20px auto 50px auto;
	padding:50px 100px 30px 100px;
	width:780px;
	text-align:left;
	border:1px solid #02b7ec;
	}

.box_cyan{
	margin:20px auto 0px auto;
	padding:50px 100px 50px 100px;
	width:780px;
	text-align:left;
	background-color:#f2fcfe;
	}

.box_yellow{
	margin:20px auto 0px auto;
	padding:50px 100px 50px 100px;
	width:780px;
	text-align:left;
	background-color:#fffef1;
	}

.box_white{
	margin:20px 0px 10px 0px;
	padding:10px 30px 10px 30px;
	background-color:#ffffff;
	}

p.fig{
	margin:20px auto 20px auto;
	padding:0px 0px 0px 0px;
	text-align:center;
	}

.main_title{
	margin:0px auto 0px auto;
	padding:0;
	}

.movie{
	margin:0px auto 0px auto;
	padding:0;
	text-align:center;
	}

.top_index_1a{
	width:1064px;
	height:548px;
	margin:0px auto 0px auto;
	background-image:url("../images/top_index_1a_bg.png");
	background-repeat:no-repeat;
	}

.top_index_1b,
.top_index_1c{
	width:1064px;
	height:300px;
	margin:0px auto 0px auto;
	background-image:url("../images/top_index_1b_bg.png");
	background-repeat:no-repeat;
	}

.top_index_2a{
	width:1064px;
	height:415px;
	margin:0px auto 0px auto;
	background-image:url("../images/top_index_2a_bg.png");
	background-repeat:no-repeat;
	}

.top_index_2b{
	width:1064px;
	height:375px;
	margin:0px auto 0px auto;
	background-image:url("../images/top_index_2b_bg.png");
	background-repeat:no-repeat;
	}

.top_index_2c{
	width:1064px;
	height:335px;
	margin:0px auto 0px auto;
	background-image:url("../images/top_index_2c_bg.png");
	background-repeat:no-repeat;
	}

ul.top_list{
	margin:0px 0px 20px 350px;
	padding:90px 0px 0px 40px;
	list-style:none;
	}

ul.top_list li a:link,
ul.top_list li a:visited,
ul.top_list li a:active{
	font-size:18px;
	font-weight:600;
	line-height:38px;
	color:#00b7df;
	}

ul.top_list li a:hover{
	text-decoration:underline;
	font-size:18px;
	font-weight:600;
	line-height:38px;
	color:#00aacc;
	}

ul.top_list li:before{
	margin-left:-1em;
	content:'▼ ';
	color:#bbbbbb;
	font-size:14px;
	}

.label_1{
	position:absolute;
	width:160px;
	margin:50px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#40caf1;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_1b{
	position:absolute;
	width:160px;
	margin:70px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#40caf1;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_2{
	position:absolute;
	width:160px;
	margin:50px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#f89807;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_2b{
	position:absolute;
	width:160px;
	margin:90px 0px 0px -20px;
	padding:5px 0px 5px 0px;
	background-color:#f89807;
	border-radius:0px 30px 30px 0px;
	color:#ffffff;
	font-weight:600;
	line-height:20px;
	text-align:center;
	}

.label_1:before,
.label_1b:before,
.label_2:before,
.label_2b:before{
	position:absolute;
	content: '';
	top:100%;
	left:0;
	border:none;
	border-bottom:solid 15px transparent;
	border-right:solid 20px #888888;
	}

.mid_title{
	width:780px;
	margin:65px 0px 30px 200px;
	}

.mid_title_2{
	width:780px;
	margin:0px 0px 30px 0px;
	text-align:center;
	}

.marker_1{
	margin:0px 0px 0px 0px;
	background:linear-gradient(transparent 70%, #ccf1fc 70%);
	font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProNW6", "Hiragino Kaku Gothic ProN",system-ui, sans-serif;
	font-weight:600;
	font-size:38px;
	line-height:56px;
	}

.marker_2{
	margin:0px 0px 0px 0px;
	background:linear-gradient(transparent 70%, #fff04f 70%);
	font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProNW6", "Hiragino Kaku Gothic ProN",system-ui, sans-serif;
	font-weight:600;
	font-size:38px;
	line-height:56px;
	}

dl.message{
	margin:0px 0px 0px 0px;
	}

dl.message dt{
	margin:20px 0px 10px 0px;
	padding:0;
	color:#00b8ee;
	font-size:30px;
	font-weight:600;
	}

dl.message dt:before{
/*	margin-left:-1em;*/
	content:'─ ';
	color:#00b8ee;
	font-size:30px;
	font-weight:600;
	}

dl.message dt.orange:before{
/*	margin-left:-1em;*/
	content:'─ ';
	color:#f89807;
	font-size:30px;
	font-weight:600;
	}

dl.message dd{
	margin:10px 0px 40px 0px;
	padding:0;
	font-size:17px;
	line-height:34px;
	}


dl.advice{
	margin:0px 0px 0px 0px;
	}

dl.advice dt{
	margin:20px 0px 10px 0px;
	padding:10px 0px 10px 10px;
	color:#00b8ee;
	font-size:30px;
	font-weight:600;
	border-left:5px solid #00b8ee;
	}

dl.advice dd{
	margin:10px 0px 30px 0px;
	padding:0;
	font-size:17px;
	line-height:34px;
	}

ul.icon_circle{
	margin:0px 0px 10px 30px;
	padding:0px 0px 0px 0px;
	list-style:none;
	}

ul.icon_circle li{
	font-size:17px;
	font-weight:400;
	line-height:32px;
	color:#000000;
	}

ul.icon_circle li:before{
	margin-left:-1.3em;
	content:'● ';
	color:#f89807;
	font-size:17px;
	}

ul.comment_list{
	margin:10px 0px 20px 10px;
	list-style:none;
	}

.wrapper_bottom{
	width:100%;
	height:180px;
	margin:0px auto 0px auto;
	padding:75px 0px 0px 0px;
	background-image:url("../images/bottom_bg.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

.wrapper_bottom_1{
	width:100%;
	height:990px;
	margin:0px auto 0px auto;
	background-image:url("../images/bottom_bg_1.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

.wrapper_bottom_2{
	width:100%;
	height:990px;
	margin:0px auto 0px auto;
	background-image:url("../images/bottom_bg_2.png");
	background-repeat:no-repeat;
	background-position:50% 0px;
	}

ul.bottom_navi{
	width:1064px;
	margin:0px auto 120px auto;
	padding:180px 0px 0px 0px;
	list-style:none;
	}

ul.bottom_navi li{
	margin:0;
	padding:0;
	}

.bottom_banner{
	margin:0px auto 0px auto;
	text-align:center;
	}

.bottom_banner a{
	margin:0px 5px 0px 5px;
	padding:0;
	}

footer{
	width:100%;
	margin:0px 0px 0px 0px;
	padding:40px 0px 40px 0px;
	background-color:#ffffff;
	text-align:center;
	}

footer .credit{
	width:1180px;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	text-align:right;
	}

footer .credit .contact{
	margin:0;
	padding:0;
	float:left;
	}

footer .credit .company_link_2{
	margin:0;
	padding:0;
	float:right;
	}

footer .credit_text{
	width:1170px;
	margin:-30px auto 0px auto;
	padding:0px 10px 0px 0px;
	font-size:14px;
	text-align:right;
	}

.doc_code{
	width:1170px;
	margin:20px auto 0px auto;
	font-size:12px;
	line-height:18px;
	text-align:right;
	}

}
