/*!
/*
	TODO remove settings on BODY since we can't namespace it.
*/
/*
	TODO test putting a class on HEAD.
		- Fails on FF.
*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
	margin:0;
	padding:0;
	font-feature-settings: "palt";
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,
img {
	border:0;
}
/*
	TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
*/
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style:normal;
	font-weight:normal;
}

ol,
ul {
	list-style:none;
}

caption,
th {
	text-align:left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size:100%;
	font-weight:normal;
line-height:1.5em;
}
q:before,
q:after {
	content:'';
}
abbr,
acronym {
	border:0;
	font-variant:normal;
}
/* to preserve line-height and selector appearance */
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
input,
textarea,
select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
/*to enable resizing for IE*/
input,
textarea,
select {
	*font-size:100%;
}
/*because legend doesn't inherit in IE */
legend {
	color:#000;
}
/* YUI CSS Detection Stamp */
#yui3-css-stamp.cssreset { display: none; }

/*-------------------------------------------------------------------------------------------------------------------*/




img{
max-width: 100%;
height: auto;
width /***/:auto;　
}

p,li{
line-height:1.2em;
}
.base_wrap{
max-width:1400px;
margin:auto;
}
@media screen and (max-width: 1000px) {
.base_wrap{
width:90%;
}
}


.base_wrap .hr{
border:none;
margin-bottom:30px;
margin-top:30px;
clear: both;
}


body{
border:solid 3em #075f91;
border-top: none;
border-bottom: none;
font-family:'Noto Sans JP', Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Verdana, sans-serif;
}
header{
background:#075f91;
color:#fff;
}

.logo{
padding:10px 0;
}
.bgupper{
background: transparent url(img/bg.png) no-repeat left top;
padding:10px;
}
.bgbottom{
background:#e8f1fa url(img/bg_bottom.png) repeat-x left bottom;
}
@media screen and (max-width: 768px) {
body{
border:solid 10px #075f91;
}
.bgupper{
background-size: auto 400px;
}
}

.point{
width: min(90%, 39em);
background-color:#fabe00;
border-radius:10px;
padding:1.5em 1em 1em;
margin:2em auto 4em;
color:#7e99bc;
position:relative;
font-size:1.45em;
box-sizing: border-box;
}
@media screen and (max-width: 768px) {
.point{
padding:.5em;
font-size:1.2em;
}
}
.point h3 {
position:absolute;
font-weight:bold;
top:-.8em;
text-align:center;
display        : inline-block;
color          : #075f91;            /* 文字の色 */
font-size      : 27pt;               /* 文字のサイズ */
letter-spacing : 3px;                /* 文字間 */
text-shadow    : 
		2px  2px 0px #fabe00,
	-2px  2px 0px #fabe00,
		2px -2px 0px #fabe00,
	-2px -2px 0px #fabe00,
		2px  0px 0px #fabe00,
		0px  2px 0px #fabe00,
	-2px  0px 0px #fabe00,
		0px -2px 0px #fabe00;        /* 文字の影 */
}

ol.cp_clist {
	counter-reset:cp_clist; /*数字をリセット*/
	list-style-type: none;
	padding:0.5em;
}
ol.cp_clist li {
line-height:1.8em;
position: relative;
padding-left: 35px;
margin-bottom:.5em;
color:#075f91;
font-weight:bold;
}
ol.cp_clist li::before {
	position: absolute;
	display:inline-block;
	top:.75em;
	left: 0;
	/* カウントさせる */
	counter-increment: cp_clist;
	content: counter(cp_clist);
	/*装飾*/
	/*padding: 0 0.2em 0 0.2em;*/
	background: #F4511E;
	color: #fff;
	font-weight:bold;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align:center;
	transform: translateY(-50%);
}

ol.cp_clist.honbun li {
line-height:1.6em;
position: relative;
padding-left: 45px;
padding-right: 10px;
color:#222;
font-weight:normal;
}
ol.cp_clist.honbun li::before {
	left: 10px;
	background: #fabe00;
}

strong{ font-weight: 600;}

.huki{
position: relative;
}
.huki div{
background-color: #0273E5;
color: #ffff00;
width: fit-content;
text-align: center;
display: block;
position: absolute;
right: 0;
top: -1em;
padding: 5px 1em;
border-radius: 10px;
}

.huki div i{
position: absolute;
width: 0;
height: 0;
left: -20px;
top: 1em;
border-right: 34px solid #0273E5;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
}
@media screen and (max-width: 1090px) {
.huki{
padding-bottom: 5.9em;
}
.huki div i{
left: 1em;
top: -40px;
border-bottom: 20px solid #0273E5;
border-left: 15px solid transparent;
border-right: 15px solid transparent;
}
.huki div{
top: 4em;
left: 1em;
}
}

@media screen and (max-width: 523px) {
.huki div i{
left: 4em;
}
.huki{
padding-bottom: 9em;
}
.huki div{
top: 7em;}
}

.schedule .fl,
.schedule .fr{
	padding-bottom:20px;
}
.schedule .fl{
width:42%;
float:left;
margin:4%;
font-size:1.5em;
}

iframe{
border: solid 1px #000;
width:96%;
height:11em;
margin-top: 1em;
}

@media screen and (max-width: 1000px) {

.schedule .fl,.schedule .fr{
padding-right:30px;
width: auto;
float: none;
text-align:center;
margin-left:0;
}

iframe{
width:95%;
}
.schedule .fl .w100{
width:95%;
}
}
@media screen and (max-width: 500px) {
.schedule .fl,.schedule .fr{
padding-right:0px;
margin: 4% 0;
}
iframe{
width:100%;
}
.schedule .fl .w100{
width:100%;
}

}


.schedule .fl{ 
position:relative;
overflow:visible;
}
.schedule .fl h2{
transform: rotate(-10deg);/*斜め*/
position:absolute;
top:-40px;
left:0.25em;
font-size:clamp(18px, 6vw, 55px);/*clamp(最小値, 推奨値, 最大値)*/
text-align: center;
margin: 0 auto;
width: calc(2.6em + 10px) ;
height: calc(2.6em + 10px);
line-height: calc(2.6em + 10px);
border-radius: 50%;
background-color: #075f91;
color: #fff;
font-weight:900;
font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 1270px) {
.schedule .fl h2{
top:-20px;
left:-1em;
font-size:clamp(18px, 5vw, 40px);}
}

.schedule .day{
display: block;
text-align: center;
/*font-size:clamp(20px, 6.5vw, 5em);/*clamp(最小値, 推奨値, 最大値)*/
font-size: 10vw;
line-height:1.5em;
font-weight:900;
font-family: 'Noto Sans JP', sans-serif;
letter-spacing : -3px; 
line-height:1em;
}
.schedule .day span{font-size:.5em; font-weight:500;
}
.add{
font-size:1.15em; 
line-height:1.5em;
font-weight:500;
font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 1000px) {
ol.cp_clist li {
line-height:1.4em;
}
ol.cp_clist li::before {
top:.6em;
}
.schedule .fl .day{
font-size: 15vw;
}
.add{font-size:.8em;margin-bottom:10px;
}
.schedule .fl h2{
font-size:7vw;
top:-1em;
}
}



@media screen and (max-width: 570px) {
.schedule .fl h2{
font-size:9vw;
left:-.5em;
}
}






.btn02 {
font-size:18px;
padding:1em 10px;
text-align: center;
color: #075f91;
background-color: #fabe00;
display: block;
text-decoration: none;
margin:auto;
display:block;
border-radius:10px;
width: clamp(100px, 50%, 13em);
}

.btn02:hover{
background: #ffce31;
}





.top_ttl{
text-align: center;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 900;
font-size: 90px;
color: #e4402d;
}

.top_ttl span{
display: block;
padding-left: 20px;
}
@media screen and (max-width: 780px) {
.top_ttl{
font-size: 50px;
padding-left: 0px;
}
}
@media screen and (max-width: 500px) {
.top_ttl{
font-size: 30px;
padding-left: 0px;
}
.top_ttl span{
display: inline;
}
}

.ttl04,
.ttl03{
text-align:center;
font-weight:500;
font-size:2.3em;
color:#075f91;
margin:0;
line-height:1.1em;
font-family: 'Noto Sans JP', sans-serif;}

.ttl04{
font-size:1.5em;
margin:0 0 1em;
}
@media screen and (max-width: 500px) {
.ttl03{
font-size:2em;
}
}

.area03{
width:95%;
margin:2% auto;
display: flex;
flex-wrap: wrap;
line-height:1.8em;
}

.area03 div{
width:43%;
margin:0 3.5% 2%;
border-top:none;
background-color:#fffeec;
border-radius:5px;
}
.area03 div h4{
background-color:#075f91;
color:#fff;
padding:1em 0.5em;
font-size:1.3em;
text-align:center;
}
.area03 div p{
text-align:left;
color:#000;
padding:1em;
font-size:1.1em;
font-weight:400;
line-height:1.6em;
}
.area03 div p img{
margin-top:-0.5em;
}
.jissi{
background-color:#fff;
padding:10px;
width:auto;
display:block;
margin-top:10px;
border-radius:5px;
}
@media screen and (max-width: 1000px) {
.area03{
display: block;
width:98%;
}
.area03 div{
margin: 0 40px 1em 0;
width:97%;
border: solid 2px #075f91;
}
}

@media screen and (max-width: 780px) {
.area03 div p{
font-size:1em;
}
.area03 div{
margin: 0 0px 1em 0;
}
}


























/* Footer -------------------------*/

#pagetop {
position:fixed;
bottom: 11%;
right: 2%;
height:60px;
width:60px;
z-index:100;
}

footer {
text-align: center;
clear: both;
overflow:hidden;
}

footer div{
padding: 1em;
}
footer p{
text-align: center;
padding: 1em;
font-size: 74%;
color:#fff;
background:#075f91;
}


@media screen and (max-width: 768px) {
/* Footer -------------------------*/


#pagetop {
position:fixed;
bottom: 8%;
right: 2%;
height:auto;
width:10%;
z-index:100;
}

footer {
width: 100%;
clear: both;
}

footer div{
text-align: center;
padding: 0.6em 0;
overflow: hidden;
}



footer p{
text-align: center;
padding: 0.6em 0;
font-size: 74%;
}

}



/*--footer_info--------------------------*/

.footer_info{
background-color:#075f91;
padding:30px 0;
overflow:hidden;
}


.footer_info .base_wrap h3 {
text-align:center;
background:url(img/bg_footerh3.png) center center repeat-x;
}

.footer_info .base_wrap h3 span {
background: #075f91;
font-size:23px !important;
padding:0 15px;
color:#fff;
}


ul.adr{ 
width:1400px;
margin:30px auto 0;
text-align:center;
overflow:hidden;
}
ul.adr li img{
float:left;
}
li.mail a img{
border-left: dotted 1px #fff;
border-right: dotted 1px #fff;
}

@media screen and (max-width: 768px) {
/*--footer_info--------------------------*/

ul.adr{ 
width:90%;
margin:0 auto;}
ul.adr li img{
float:none;
margin:auto;
}

li.mail a img{
border-left:none;
border-right:none;
border-bottom: dotted 1px #fff;
border-top: dotted 1px #fff;
}
}












/*==common================================================================*/

a img:hover {
filter:alpha(opacity=80);
-moz-opacity: 0.8;
opacity: 0.8;
}
.ta_c{ text-align:center;}
.ta_r{ text-align:right;}
.clearfix,
.cf{overflow: hidden ;}
.c_tan{ color:#5dc1cf;}
.c_dblue{ color:#154c9f;}
.c_red{ color:#ff0000;}

.mt30{ margin-top:30px;}
.mt20{ margin-top:20px;}
.mt10{ margin-top:10px;}
.mb30{ margin-bottom:30px;}

.bold{ font-weight:bold;}

.f180{ font-size:180%;}
.f160{ font-size:160%;}
.f150{ font-size:150%;}
.f120{ font-size:120%;}
.f80{ font-size:80%;}
.f90{ font-size:90%;}

.pc{ display:block;}
.smp{ display:none;}
@media screen and (max-width: 768px) {
.pc{ display:none;}
.smp{ display:block;}

}

.notesjp{
font-family: 'Noto Sans JP', sans-serif;}

