@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Yusei+Magic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');

:root{
    --color-primary: #52caf8;
    --color-primary-pale: #9ee4ff;
    --color-primary-dark: #15b2ee;
    --color-secondary: #ff84b2;
    --color-secondary-pale: #ffa8c9;
    --color-secondary-dark: #ff488d;
    --color-secondary-strong: #e50056;
    --color-red: #ed0059;
    --color-black: black;
    --color-border: rgba(200,200,200,.75);
}


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, tt, var, dl, dt, dd, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border:0; font-family:inherit; font-size:100%; font-style:inherit; font-weight:inherit; margin:0; outline:0; padding:0; vertical-align:baseline;}
:focus { outline:0;}
ul { list-style:none;}
table { border-collapse:separate;border-spacing:0;}
/*caption, th, td { font-weight:normal;text-align:left;}*/
blockquote:before, blockquote:after,q:before, q:after { content:"";}
blockquote, q { quotes:"" "";}
a img { border:0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{ display:block;}
body{
	color: black;
	background: var(--color-primary);
	-webkit-text-size-adjust:none;
	font-size: 1em;
	line-height: 1.85;
	font-family: Meiryo, "メイリオ", "Zen Maru Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3";
}
h2.title, h3, h4, .str03, .str3, .str04, .str4, .str05, .str5, .contact strong{
    font-family: "Suzumushi", "Yusei Magic", "Zen Maru Gothic", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3";
    letter-spacing: -.2em;
}
.letter_00{ letter-spacing: 0;}
.letter_01{ letter-spacing: -.5em;}
.letter_02{ letter-spacing: .1em;}

.dsp_pc{ display: inherit;}
.dsp_sph{ display: none;}

img{ max-width: 100%; height: auto; border: none; vertical-align: bottom; image-rendering: -webkit-optimize-contrast;}
.img_l, .post .img_l{ margin: 0 3% 20px 0; float: left; max-width: 45%;}
.img_r, .post .img_r{ margin: 0 0 20px 3%; float: right; max-width: 45%;}
ul.img_l, .post ul.img_l, ul.img_r, .post ul.img_r{ max-width: none;}

.bd_r_1{ border-radius: 50%;}
.bd_r_rdm1{ border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;}
.bd_r_rdm2{ border-radius: 50% 50% 65% 30%/50%;}
.bd_r_rdm3{ border-radius: 40% 40% 50% 40%/30% 50% 50% 50%;}

.box_shadow1{ box-shadow: .5em .5em 0 rgba(0,0,0,.15)}
.text_shadow1{ text-shadow: .05em .05em 0 white;}

.cachcopy{ text-align: center;}
.nml{ font-weight: normal !important;}
.str1, .str01{ font-size: 110%;}
.str2, .str02{ font-size: 125%;}
.str3, .str03{ font-size: 170%; line-height: 1.5;}
.str4, .str04{ font-size: 200%; line-height: 1.4;}
.str5, .str05{ font-size: 220%; line-height: 1.3;}
b, strong, .str1,.str2,.str3,.str4{ font-weight: 600;}
.sml0{ font-size: 95%; line-height: 1.75;}
.sml1{ font-size: 90%; line-height: 1.7;}
.sml2{ font-size: 85%; line-height: 1.65;}
.sml3{ font-size: 80%; line-height: 1.6;}
.sml4{ font-size: 70%; line-height: 1.55;}
h2 .sml2{ font-size: 60%;}
h3 .sml1{ display: block;}
.pink{ color: var(--color-secondary)}
.pink_p{ color: var(--color-secondary-pale)}
.pink_d{ color: var(--color-secondary-dark)}
.red, .red a{ color: var(--color-secondary-strong); font-weight: bold;}
.yellow, .yellow a{ color: #ffd800;}
.orange, .orange a{ color: #f0832c;}
.blue, .blue a{ color: #008bcb;}
.green, .green a{ color: #00b581;}
.navy, .navy a{ color: #072579;}
.bg_cream{ background: #fffbe8; color: black;}
.bg_yellow{ background:#fff5c6; color: black;}

.bg_yellow_1{ background: #ffed8b;}
.bg_yellow_2{ background: #fff5c6;}
.bg_yellow_3{ background: #fffae2;}
.bg_blue_1{ background: #004edd;}
.bg_blue_01{ background: rgba(0,78,221,.1);}
.bg_blue_02{ background: rgba(0,78,221,.2);}
.bg_blue_03{ background: rgba(0,78,221,.3);}

.c{ text-align: center;}
.l{ text-align: left;}
.r{ text-align: right;}
.clr{ clear: both;}
.clr_l{ clear: left;}
.clr_r{ clear: right;}
.clr_n{ clear: none !important;}

.f_l{ float: left;}
.f_r{ float: right;}

.mg0{ margin: 0 !important;}
.mgAuto, .mgAuto > div{ margin: auto !important;}
.mg0t{ margin-top: 0 !important;}
.mg0b{ margin-bottom: 0 !important;}
.mg05t{ margin-top: 5px !important;}.mg05l{ margin-left: 5px;}.mg05r{ margin-right: 5px;}.mg05b{ margin-bottom: 5px;}.mg05tb{ margin: 5px 0;}.mg05lr{ margin: 0 5px;}.mg10t{ margin-top: 10px;}.mg10l{ margin-left: 10px;}.mg10r{ margin-right: 10px;}
.mg10b{ margin-bottom: 10px !important;}
.mg10tb{ margin: 10px 0;}.mg10lr{ margin: 0 10px;}.mg15t{ margin-top: 15px;}.mg15tb{ margin: 15px 0;}.mg20t{ margin-top: 20px;}.mg20l{ margin-left: 20px;}.mg20r{ margin-right: 20px;}.mg20b{ margin-bottom: 20px;}.mg20tb{ margin: 20px 0;}.mg25r{ margin-right: 25px;}.mg30t{ margin-top: 30px;}.mg30l{ margin-left: 30px;}.mg30r{ margin-right: 30px;}.mg30b{ margin-bottom: 30px;}.mg30tb{ margin: 30px 0;}
.mg_table_c{ margin: 0 auto; display: table;}
.mghEMtb{ margin: .5em 0;}.mghEMlr{ margin: 0 .5em;}
.mghEMt{ margin-top: .5em;}.mghEMb{ margin-bottom: .5em;}.mghEMl{ margin-left: .5em;}.mghEMr{ margin-right: .5em;}
.mg1EMtb{ margin: 1em 0;}.mg1EMlr{ margin: 0 1em;}
.mg1EMt{ margin-top: 1em;}.mg1EMb{ margin-bottom: 1em;}.mg1EMl{ margin-left: 1em !important}.mg1EMr{ margin-right: 1em !important;}
.mg1hEMtb{ margin: 1.5em 0;}
.mg-3emt, .mg-5emt, .mg-7emt{ position: relative; z-index: 2;}
.pd0{ padding: 0 !important;}
.pd0b{ padding-bottom: 0 !important;}
.pd0hEM{ padding: .5em;}.pd0hEMt{ padding-top: .5em;}.pd0hEMb{ padding-bottom: .5em;}.pd0hEMtb{ padding: .5em 0;}.pd0hEMlr{ padding: 0 .5em;}
.pd1EM{ padding: 1em;}.pd1EMt{ padding-top: 1em;}.pd1EMb{ padding-bottom: 1em;}.pd1EMtb{ padding: 1em 0;}pd1EMlr{ padding: 0 1em;}
.pd1hEM{ padding: 1.5em;}.pd2EM{ padding: 2em;}

.idt0{ margin-left: 1em; text-indent: -1em;}
.idt1{ margin-left: 1em; text-indent: -1em;}
.idt1h{ margin-left: 1.5em; text-indent: -1.5em;}
.idt2{ margin-left: 2em; text-indent: -2em;}
.idt2h{ margin-left: 2.5em; text-indent: -2.5em;}
.idt3{ margin-left: 3em; text-indent: -3em;}
ul.idt2h, ol.idt2h{ margin: 0 0 1em 1.5em; list-style: none;}
ul.idt2, ol.idt2{ margin: 0 0 1em 1em; list-style: none;}
ul.idt1h, ol.idt1h{ margin: 0 0 1em .5em; list-style: none;}
ul.idt1, ol.idt1{ margin: 0 0 1em; padding-left: 1em; list-style: none;}
li ol.idt1h{ margin: 0;}

.w15p{ width: 15%;}.w20p{ width: 20%;}.w25p{ width: 25%;}.w30p{ width: 30%;}
.w33p{ width: 33%;}.w35p{ width: 35%;}.w40p{ width: 40%;}.w46p{ width: 46%;}.w48p{ width: 48%;}.w50p{ width: 50%;}
.w60p{ width: 60%;}.w65p{ width: 65%;}.w70p{ width: 70%;}.w80p{ width: 80%;}
.w90p{ width: 90%;}
.w_auto{ width: auto !important;}

hr{
	margin: 0 auto;
	padding: 2em 0;
	clear: both;
	border: none;
    height: 0;
}
.thin{ padding: .6em 0;}
.hr_bd{
	margin: 0 0 2em;
	padding: 0 0 2em;
	width: 100%;
	height: 1px;
	border-bottom: 1px solid rgba(0,0,0,.1);
}
.hr.thin{
	margin: 0 0 .5em;
	padding: 0 0 .5em;
}
.hr_ic{
    position: relative;
    overflow: visible;
}
.hr_ic:after{
    position: absolute;
    content: "";
    width: 100px;
    height: 100px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    top: 50%;
    overflow: hidden;
}
.hr_ic_l:after{ left: 10%;}
.hr_ic_r:after{ right: 10%;}
.hr_ic_01:after{ background-image: url("ic_01.png");}
.hr_ic_02:after{ background-image: url("ic_02.png");}
.hr_ic_03:after{ background-image: url("ic_03.png");}
.hr_ic_04:after{ background-image: url("ic_04.png");}
.hr_ic_05:after{ background-image: url("ic_05.png");}
.hr_ic_06:after{ background-image: url("ic_06.png");}
.hr_ic_07:after{ background-image: url("ic_07.png"); width: 150px; height: 150px;}
.hr_ic_08:after{ background-image: url("ic_08.png"); width: 150px; height: 150px;}

@media (min-width: 768px) {
	.flexbox{
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		box-sizing: border-box;
	}
	.col_2, .col_3, .col_3x2, .col_4, .col_4x3, .col_5, .col_5x2, .col_5x3, .col_5x4{ float: left;}
	.col_2{ width: 50%;}
	.col_3{ width: 33.33333%;}
	.col_3x2{ width: 66.66666%;}
	.col_4{ width: 25%;}
	.col_4x3{ width: 75%;}
	.col_5{ width: 20%;}
	.col_5x2{ width: 40%;}
	.col_5x3{ width: 60%;}
	.col_5x4{ width: 80%;}
	/* .col_2 padding ******/
	.pad .col_2:nth-of-type(odd){ padding-right: 2.5%;}
	.pad .col_2:nth-of-type(even){ padding-left: 2.5%;}
	.col_3x2:nth-child(odd), .col_3:nth-child(odd),
	.col_4x3.f_l, .col_4.f_l,
	.col_5.f_l, .col_5x2:nth-child(odd), .col_5x3:nth-child(odd), .col_5x4.f_l{ padding-right: 2.5%;}
	.col_3.f_c{ padding: 0 .75%;}
	.col_3x2:nth-child(even), .col_3:nth-child(even),
	.col_4x3.f_r, .col_4.f_r,
	.col_5.f_r, .col_5x2:nth-child(even), .col_5x3:nth-child(even), .col_5x4.f_r{ padding-left: 2.5%; float: right;}
	
	.flex_col_2.mg48p .col_2{ width: 48%;}
	.flex_col_2.mg49p .col_2{ width: 49%;}
	.flex_col_2 .col_2:nth-child(odd){ margin: 0 auto 0 0;}
	.flex_col_2 .col_2:nth-child(even){ margin: 0 0 0 auto;}
	.flex_col_3 .col_3{ padding: 0 1%;}
	.flex_col_3.mg32p .col_3,
	.flex_col_3.mg33p .col_3{ margin: 0 auto;}
	.flex_col_3.mg32p .col_3{ width: 32%;}
	.flex_col_3.mg33p .col_3{ width: 33%; padding-bottom: 2em}
	.flex_col_3.mg32p .col_3:nth-child(3n+1),
	.flex_col_3.mg33p .col_3:nth-child(3n+1){ margin-left: 0; padding: 0 2% 0 0;}
	.flex_col_3.mg32p .col_3:nth-child(3n),
	.flex_col_3.mg33p .col_3:nth-child(3n){ margin-right: 0; padding: 0 0 0 2% ;}
	.flex_col_4 .col_4{ padding: 0 2.5% 0 0;}
}
.col_2, .col_3, .col_3x2, .col_4, .col_4x3,
.col_5, .col_5x2, .col_5x3, .col_5x4,
.f_l, .f_r{ box-sizing: border-box;}

.col_3x2:nth-child(odd), .col_3:nth-child(odd),
.col_4x3:nth-child(odd), .col_4:nth-child(odd){ margin-bottom: 1em;}


/* リンク設定 ------------------------------------------------------------*/

a{
	text-decoration:none;
	color:#004edd;
}
a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
	outline:none;
}
/**** Clearfix ****/
nav .panel:after, #mainNav:after, .newsTitle:after, .bg:after,.post:after{
content:"";
display:table;
clear:both;
}
nav .panel,#mainNav,.newsTitle,.bg, .post{
zoom:1;
}

/* レイアウト ------------------------------------------------------------*/

#wrapper, .inner{
	margin:0 auto;
	width:1100px;
}
#header{
	padding: 1.2em 3%;
	position: absolute;
	width: 100%;
	box-sizing: border-box;
	z-index: 3;
	text-align:center;
	height: 100px;
}
#content{
/*
float:left;
width:750px;
*/
padding:30px 10px;
}
#sidebar{
/*
float:right;
width:255px;
*/
padding: 0 0 3.5em;
}
#footer{
clear:both;
padding: 3.5em 1em;
} 
section{
    margin: 0 auto 0;
    padding: 3.5em 0 2.5em;
}
section.bd_r_rdm_btm1{
    padding-bottom: 5.5em;
    border-radius: 0 0 50% 50%/0 0 10em 5em;
}
section.bd_r_rdm_btm2{
    padding-bottom: 3.5em;
    border-radius: 0 0 50% 50%/0 0 5em 10em;
}

/* ヘッダー ------------------------------------------------------------*/

#header h1{
	position:relative;
	float: left;
    max-width: 45%;
	text-align:left;
	font-size:80%;
	font-weight:bold;
}
#header h1 img{ max-height: 30vh;}
.contact {
	position: relative;
	float: right;
	line-height: 1.7;
	background: var(--color-secondary);
    background-image: url("bg_a15.png");
	padding: 2em 2.5em;
	border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;
	box-shadow: -.75em .75em 0 var(--color-secondary-dark),1em 1.5em 0 var(--color-secondary-pale);
    font-weight: bold;
    font-size: calc(.7vw + .5em);
}
#header h2{
/*
margin-top: 100px;
position:relative;
clear:both;
*/
text-align:center;
font-size:160%;
font-weight:bold;
	position: absolute;
	top: 50%;
	left: 25%;
width: 50%;
}
#header h2 img{
/*width:800px;*/
}
#header .pnav ul{
position:relative;
}
#header .pnav ul li{
font-weight:bold;
display:inline;
margin-left:5px;
font-size:90%;
}
#header .pnav ul li:before{
content:"■";
}
#header .pnav ul li a{
padding-left:5px;
color:white;
}
#header .pnav ul li a:hover{
color:#999999;
}
.tel{
    color: black;
    letter-spacing: -.45em;
    text-shadow: .05em .05em 0 white, -.05em -.05em 0 white, -.05em .05em 0 white, .05em -.05em 0 white; font-size: 1.1em;
}
.tel i{ margin-right: .5em; color: var(--color-secondary-dark);}

/* トップページ　メイン画像 ------------------------------------------------------------*/

.bg_tex{ background-image: url("bg_a15.png");}

#mainImg{ position: relative; z-index: 1; background: var(--color-secondary-dark);}
#mainImg{
    margin-bottom: 3em;
    padding-bottom: 3em;
    border-radius: 0 0 50% 50%/0 0 30% 20%;
    box-shadow: -3.5em 3em 0 var(--color-secondary), 1.5em 5em 0 var(--color-secondary-pale);
    background-image: url("bg_a15.png");
}
#mainImg:after{
	top: 0;
	height: 100%;
}
#mainImg h2{
	position: absolute;
	width: 95%;
	bottom: 0;
	left: 50%;
    /*max-height: 70vh;*/
	z-index: 3;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
    text-align: center;
}
/*#mainImg h2 img{ max-height: 60vh;}*/
#mainImg > img{
    margin-bottom: 3em;
	width:100%;
	height:auto;
    border-radius: 0 0 50% 50%/50%;
}
.bg_dot{ background: var(--color-primary-dark);}
.bg_dot h2, .bg_dot .inner{
	position: relative;
	z-index: 3;
}

.post{
	margin:0 0 20px 0;
}

/* タイポグラフィ ------------------------------------------------------------*/

h2.title{
	clear:both;
	margin-bottom:50px;
	padding-bottom:7px;
	text-align:center;
	font-size: calc(2em + 2vw);
	font-weight:bold;
	text-shadow: .05em .05em 0 white;
}
h2.title span{
	padding-bottom: .25em;
	border-bottom: .25em dotted var(--color-secondary-dark);
}
p{ margin: 0 0 1.2em; text-align: justify;}
h3{
	margin: 0 0 1em;
	padding: 0 0 .5em;
	border-bottom: .15em dotted white;
    line-height: 1.5;
	text-shadow: .025em .025em 0 white;
	font-size: calc(1.45em + 1.45vw);
	font-weight:bold;
}
h4{
	margin: 0 0 .75em;
	padding: 0 0 .35em;
    position: relative;
    border-bottom: solid 3px var(--color-primary-pale) ;
	transform: rotate(.05deg);
    text-align: center;
	font-size: calc(1.1em + 1vw);
	font-weight: bold;
}
h4.bd_white{ border-bottom-color: white;}
.post h5{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}
.post h6{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}
.post blockquote{
clear:both;
padding:10px 0 10px 25px;
margin:10px 0 25px 0px;
border-left:5px solid #e9e9e9;
}
.post ul{
	margin: 0 0 1em;
	padding: 0;
	list-style: none;
}
.post li{
	padding: 0 0 0 1.35em;
	position: relative;
}
.post ul li:before{
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
    color: #004edd;
    content: "";
    font-family: "Font Awesome 5 Free";
	font-weight: bold;
}
.post ul.delta li:before{ content: "\f0da";}
.post ul.dot li:before{ content: "\f111";}
.post ul.red_ic li:before,
.post .column4 ul li:before{ color: #e50056;}
.post ol{margin: 0 0 1.5em 1em; padding: 0 0 0 .5em;}
.post ol li{list-style:decimal;}


.post blockquote p{
padding:5px 0;
}
table{ margin: 0 0 1.5em; width: 100%; border-top: 1px solid rgba(0,0,0,.15);; border-left: 1px solid rgba(0,0,0,.15); background: white;}
table th { background: rgba(0,78,221,.2);}
table caption{ padding: 0 0 .5em; text-align: right;}
table td, table th{ border-bottom: 1px solid rgba(0,0,0,.15); border-right: 1px solid rgba(0,0,0,.15);}
table, tr, th, td{ border-collapse: collapse; vertical-align: middle;}
th{ font-weight: normal;}
th, td{ padding: .3em .8em;}
.td_w25p td{ width: 25%;}
.td_w20p td{ width: 20%;}
.th_nowrap th, .td_nowrap td{ white-space: nowrap;}
.th_center th, .td_center td,
th.th_center, td.td_center{ text-align: center;}
.th_right th, .td_right td,
th.th_right, td.td_right{ text-align: right;}
.th_top th, .td_top td,
th.th_top, td.td_top{ vertical-align: top;}
.th_btm th, .td_btm td,
th.th_btm, td.td_btm{ vertical-align: bottom;}
.table ul, .table li, .table p{ margin: 0;}
.sml1 th, .sml1 td{ padding: .35em;}img.aligncenter {
display:block;
margin:5px auto 30px auto;
text-align:center;
}
img.alignright{ margin:5px 0 30px 30px;}
img.alignleft{ margin:5px 30px 30px 0;}
.alignright{ float:right;}
.alignleft{ float:left;}

.bg_cream h2.title,
.bg_yellow h2.title{ color: #00205a; text-shadow: none;}
.bg_cream h2.title span,
.bg_yellow h2.title span{ border-bottom-color: #00205a;}
.bg_cream h3,
.bg_yellow h3{ border-bottom-color: #004edd;}

/* column */
div[class^="column"]{ margin: 0 0 1.5em; padding: 1.2em 1.5em;}
.column1{ border: solid 2px #004edd;}/*blue*/
.column2{ border: solid 2px #00205a;}/*navy*/
.column3{ border: solid 2px white;}/*white*/
.column4{ border: solid 2px #e50056;}/*red*/
div[class^="column"] p:last-child,
div[class^="column"] ul:last-child,
div[class^="column"] ol:last-child{ margin-bottom: 0;}

/* BTN ****************/
a.btn,
.prev a,
.next a,
input[type="submit"],
input[type="reset"],
input[type="button"]{
	padding: .5em 2.5em;
	display: block;
	color: white;
	border-radius: .5em;
    border: none;
	background: var(--color-secondary-strong);
	line-height: 1.65;
	font-weight: bold;
}
a.btn:after,
.next a:after{
	margin: 0 0 0 .5em;
	content: "\f105";
	font-family: 'Font Awesome 5 Free';
	font-size: 120%;
}
.prev a:before{
	margin: 0 .5em 0 0;
	content: "\f104";
	font-family: 'Font Awesome 5 Free';
	font-size: 120%;
}
a.btn:hover,
.prev a:hover,
.next a:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover{
	background: var(--color-secondary-dark);
	text-decoration: none;
	transition: .5s;
    cursor: pointer;
}
a.l{ float: left;}
a.r{ float: right;}
.c a.btn,
.c input[type="submit"],
.c input[type="reset"],
.c input[type="button"]{
	margin: 0 auto;
	display: inline-block;
}
.str2 a.btn, .str3 a.btn,
input.str2, input.str3, input.str4{ padding: .5em 2em;}

/* サイドバー ------------------------------------------------------------*/

.widget, .widgetInfo{
margin:0 0 20px;
}
#banners{ text-align: center;}
#banners p {
	margin: 0;
	display: inline-block;
	padding: 0 .5em 1em;
	max-width: 24.5%;
	box-sizing: border-box;
}
#banners p img{ padding-bottom:10px;}
.widget h3{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:130%;
font-weight:bold;
border-bottom:2px solid white;
}
.widget a{
font-weight: bold;
display:block;
padding:5px 0 5px 0;
color:white;
}
.widget a:hover{
color:#999999;
}
.newsTitle{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:100%;
border-bottom:2px solid white;
}
.newsTitle h3{
font-size:130%;
float:left;
font-weight:bold;
}
.newsTitle p{
float:right;
padding:5px 5px 0 5px;
font-size:.8em;
}
.newsTitle a{
font-weight:bold;
color:white;
}
.newsTitle a:hover{
color:#999999;
}
.news p{
clear:both;
padding-bottom:2px;
}
.news p:last-child{
border:0;
}
.news p a{
font-weight: bold;
display:block;
padding:5px 0;
color:white;
}
.news p a:hover{
color:#999999;
}
.news span{
padding-left:10px;
}

/* フッター ------------------------------------------------------------*/

#footer ul{
text-align:center;
padding-bottom:10px;
}
#footer li{
display:inline-block;
vertical-align:text-top;
text-align:left;
margin-right:30px;
}
#footer li a{
font-weight:bold;
display:block;
padding:0 0 0 10px;
overflow:hidden;
color:white;
}
#footer li a:before{
content:"・";
}
#footer li a:hover{
color:#cdcdcd;
}
#footer li li{
display:block;
padding:0;
}
*:first-child+html #footer li{
display:inline;
}
*:first-child+html #footer ul ul,*:first-child+html #footer li li a,*:first-child+html #footer li li{
display:none;
}
#copyright{
	margin: 0;
clear:both;
padding: 1.5em 0 0;
text-align:center;
font-size:75%;
zoom:1;
}
#pagetop{
position:fixed;
right:30px;
bottom:0px;
font-size:40px;
color:#cdcdcd;
}

/* トップページ 最新記事3件 ------------------------------------------------------------*/

.thumbWrap{
/*margin: 0 0 3.5em;*/
}
.thumbWrap li{
	width:31%;
	margin: 0 0 1em;
	padding: 0 3.5% 0 0;
	background:none;
/*	box-sizing: border-box;*/
	list-style: none;
}
.thumbWrap li:last-child{
padding: 0;
}
.thumbWrap li img{ margin: 0 auto 1.5em; display: block;}
ul.thumb{ margin: 0; display: flex; justify-content: center;}
ul.thumb h3{
	margin: 0 0 1em;
	padding: .5em;
	font-size:100%;
	font-weight:bold;
	text-align:center;
	border:2px solid white;
	color:white;
}
ul.thumb p{ margin: 0 0 1.2em; text-align: center;}

/* Dlist ----------------------------*/
dl{ margin: 0 0 1.5em; padding: 0;}
dl dl{ margin-bottom: 0 !important;}
dt, dd{ margin-bottom: .35em;}
dt{ position: relative; font-weight: bold;}
dd{ margin: 0 0 1em; padding-bottom: .5em; border-bottom: 2px dotted rgba(0,0,0,.3);}
dd ul{ margin: 0; padding: 0 0 0 1em;}
dd ol{ margin: 0 0 0 1em; padding: 0 0 0 .5em;}
.Dlist dt{ margin: 0; padding: 0; float: left; width: 8em; font-weight: normal;}
.Dlist dd{ margin: 0 0 .4em; padding: 0 0 .4em 8.5em;}
.Dlist.dt_S dt{ width: 6em;}
.Dlist.dt_S dd{ padding-left: 6em;}
.Dlist.dt_L > dt{ width: 11em;}
.Dlist.dt_L > dd{ padding-left: 11em;}
.Dlist.dt_LL > dt{ width: 13em;}
.Dlist.dt_LL > dd{ padding-left: 13em;}
.Dlist dd dl{ margin: 0;}
.Dlist dd dt{ padding-bottom: 0; font-weight: normal;}
.Dlist dd dd{ margin: 0; padding-bottom: 0; border-bottom: none;}
.Dlist.nobd dd{ margin: 0; padding: 0; border: none;}
.Dlist dd p:last-child,
.dt_dot dd p:last-child{ margin-bottom: 0;}
.dt_dot dt{ padding-left: 1.5em !important; border: none;}
.dt_dot dt:before{
	position: absolute;
	left: 0;
	color: #111;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
}
.dt_dot dd{ margin: 0 0 .6em;}
.dt_dot.dt_ic_ygreen dt:before{ color: #00b581;}
.dt_dot.dt_ic_gray dt:before{ color: #ddd;}

/* フォーム ------------------------------------------------------------*/

.mailer{ margin: 0 0 1em;}
.mailer input[type="text"],
.mailer span{ display: none;}
.mailer input[type="button"]{
    padding-left: 4em;
    background-image: url("ic_mail.png");
    background-repeat: no-repeat;
    background-position: 2.5em 50%;
    background-size: 1.25em;
}

input[type="text"], input[type="email"], input[type="tel"], textarea, select, input[type="checkbox"]{
	margin: .4em 0;
	padding: .35em;
	vertical-align:middle;
	max-width:90%;
	border:1px solid #ddd;
	background: #fcfcfc;
	box-sizing: border-box;
	line-height: 1.8;
	font-size: 95%;
	font-family: Meiryo, "メイリオ", "Zen Maru Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3";
}
textarea{
	padding: .1em  1%;
	height:auto;
	width: 100%;
	max-width: 100%;
}
input[type="checkbox"]{ margin: 0 .3em 0 0;}
label{ margin: 0 .5em 0 0; display: inline-block;}
/*input[type="submit"],input[type="reset"],input[type="button"]{
	margin: 1em 0;
	padding: .5em 3em;
	color:white;
	border: none;
	background: #00205a;
	cursor: pointer;
	line-height: 1.8;
	font-family: Meiryo, "メイリオ", "Zen Maru Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3";
}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
	background: black;
	cursor:pointer;
	transition: .5s;
}
*:first-child+html input[type="submit"]{padding:3px;}*/
.error_messe{ margin-bottom: .5em; color: #ffd800; text-align: center; font-weight: bold;}

/* メインメニュー　PC用 ------------------------------------------------------------*/

@media only screen and (min-width:1025px){
	nav#mainnav{
	position:relative;
	margin-top:30px;
	}
	nav#mainnav ul{
	display:flex;
	justify-content:center;
	align-items:center;
	}
	nav#mainnav ul li{
	float:left;
	}
	nav#mainnav ul li a{
	display:block;
	text-align:center;
	_float:left;
	height:60px;
	padding:0 40px 0;
	line-height:60px;
	font-size:120%;
	font-weight:bold;
	color:white;
	}
	nav#mainnav ul li a span,nav#mainnav ul li a strong{
	display:block;
	font-size:90%;
	line-height:1.7;
	}
	nav#mainnav ul li a span{
	font-size:70%;
	}
	nav#mainnav ul li a:hover span, nav#mainnav ul li a:hover{
	color:#999999;
	}
	nav#mainnav ul ul{
	width:160px;
	border-top:0;
	}
	nav#mainnav ul li ul{
	display: none;
	}
	nav#mainnav ul li:hover ul{
	display: block;
	position: absolute;
	top:60px;
	text-align:center;
	z-index:500;
	}
	nav#mainnav ul li li{
	background:black;
	border-bottom:1px dotted #cdcdcd;
	float: none;
	width:160px;
	height:40px;
	line-height:40px;
	margin:0;
	}
	nav#mainnav ul li li:last-child{
	border:0;
	}
	nav#mainnav ul li li a{
	width:100%;
	height:40px;
	padding:0;
	line-height:40px;
	font-size:95%;
	text-lign:center;
	}
	nav#mainnav ul li li a:hover{
	color:#999999;
	}
	nav div.panel{
	display:block !important;
	}
	a#menu{
	display:none;
	}
}

/* iPadサイズ以下（1099px）からアコーディオンメニュー ------------------------------------------------------------*/

@media (max-width:1099px){
	body{ font-size: .9em;}
	#wrapper, #header, .inner{
	max-width:100%;
	}
	#header h2{
	padding:10px;
	top: 10px;
	left: 35%;
	width: 30%;
	}
/*
	#header h1{
	display:none;
	}
*/
	#header h2{
	}
	#header h2 img{
	}
	#header .pnav ul{
	display:none;
	}
	a#menu{
	display:inline-block;
	position:relative;
	width:40px;
	height:40px;
	}
	#menuBtn{
	display:block;
	position:absolute;
	top:60%;
	left:50%;
	width:18px;
	height:2px;
	margin:-1px 0 0 -7px;
	background:white;
	transition:.2s;
	}
	#menuBtn:before, #menuBtn:after{
	display:block;
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:18px;
	height:2px;
	background:white;
	transition:.3s;
	}
	#menuBtn:before{
	margin-top:-7px;
	}
	#menuBtn:after{
	margin-top:5px;
	}
	a#menu .close{
	background:transparent;
	}
	a#menu .close:before, a#menu .close:after{
	margin-top:0;
	}
	a#menu .close:before{
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	}
	a#menu .close:after{
	transform:rotate(-135deg);
	-webkit-transform:rotate(-135deg);
	}
	.panel{
	width:100%;
	display:none;
	overflow:hidden;
	position:relative;
	left:0;
	top:0;
	z-index:100;
	}
	#mainnav{
	position:absolute;
	top:0;
	width:100%;
	text-align:right;
	z-index:500;
	}
	#mainnav ul{
	background:black;
	text-align:left;
	}
	#mainnav li a{
	position:relative;
	display:block;
	padding:12px 25px;
	border-bottom:1px solid #424242;
	color:white;
	font-weight:bold;
	}
	#mainnav ul li a span{
	display:none;
	}
	#mainnav ul li li{
	border:0;
	}
	#mainnav ul li li a{
	padding-left:40px;
	}

	#mainImg h2 {
/*
    width: 74%;
    top: 100px;
    left: 13%;
*/
	}
	h2.first{
	margin-top:75px;
	}
	h2.topFirst{
	margin-top:-10px;
	}
	section{ padding: 3.5em 3%;}
	#content, #sidebar{
	clear:both;
	width:95%;
	float:none;
	margin:0 auto;
	padding:10px 0;
	}
	#banners{
	width:100%;
	margin:30px 0 30px 0;
	text-align:center;
	}
	.widget_search{
	text-align:center;
	}
	#footer{
	margin:0;border:0;
	text-align:center;
	}
	#footer ul{
	text-align:center;
	}
	#footer li{
	margin-right:20px;
	}
}

/* 幅644px以下から ヘッダー等微調節 ------------------------------------------------------------*/

.mainimg_pc{ display: block;}
.mainimg_sph{ display: none;}

@media (max-width: 767px) {
    body{ font-family: "M PLUS Rounded 1c", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3"; font-weight: 600;}
	.w15p, .w20p, .w25p,.w30p{ width: 50%;}
	.w33p, .w35p,.w40p,.w46p,.w48p, .w50p, .w60p,.w65p,.w70p,.w80p,.w90p{ width: auto;}
	.w33p{ margin: 0 0 1em;}
	.f_l, .f_r{ margin-bottom: 2em; float: none;}
	.col_2,
	.col_3{ margin: 0 0 1em; width: auto; float: none;}
	.col_2 .col_2{ margin: 0 4% 0 0; width: 48%;}
}
@media (min-width: 501px) and (max-width: 767px) {
	.w48p .w48p{ width: 48%;}
    .f_r .f_l,
    .f_l .f_l{ float: left;}
    .f_r .f_r,
    .f_l .f_r{ float: right;}
    .flexbox.flex_col_4,
    .flexbox .flexbox{ display: flex; flex-wrap: wrap; justify-content: center}
    .flexbox.flex_col_4 .col_4,
    .flexbox .flexbox .col_3{ padding: 0 1.5%; width: 50%;}
    .flexbox:not(.flex_col_4) > .col_4 h4 .sml4{ font-size: 100%;}
    .flexbox:not(.flex_col_4) > .col_4 > p{ margin: auto; padding: 0 1.5%; width: 50%;}
}

@media (max-width:600px){
    body{font-size: 1em;}
    .hr_ic:after{
        width: 75px;
        height: 75px;
        overflow: hidden;
    }
    .hr_ic_07:after,.hr_ic_08:after{ width: 120px; height: 120px;}
    .hr_ic_l:after{ left: 2%;}
    .hr_ic_r:after{ right: 2%;}
    #header{ padding: 1em 2%;}
	#header h1{ max-width: 80%}
	.contact{ padding: .75em 1.5em; font-size: calc(.9vw + .65em);}
    
	h2.title{ margin-bottom:35px;}
	img.alignright, img.alignleft{
        display:block;
        margin:5px auto 20px auto;
	}
	.alignright,.alignleft{
        float:none;
	}
	th, td{ padding: .3em;}
	div[class^="column"]{ padding: 1em;}
	#banners p{ max-width: 49%;}
	#footer ul{
        text-align:left;
        padding:15px;
	}
	#footer ul ul{
    	padding:0;
	}
	ul.thumb{ display: block;}
	ul.thumb li{ margin: 0 auto; width: auto; max-width: 400px;}
	.mainimg_pc{ display: none;}
	.mainimg_sph{ display: block;}
    .mailer input[type="button"]{ padding-left: 2.5em; background-position: .75em 50%;}
}
@media (max-width: 500px){
    #mainImg h2{ width: 100%;}
    .dsp_pc{ display: none;}
    .dsp_sph{ display: inherit;}
	.nobr br{ display: none;}
	.Dlist{ margin: 0 0 1em;}
	.Dlist dt, #toppage .Dlist dt,
	.Dlist dd, #toppage .Dlist dd{ float: none; width: auto;}
	.Dlist div{ margin: 1em 0 0;}
	.Dlist dt, .Dlist.dt_S > dt, .Dlist.dt_L > dt, .Dlist.dt_LL > dt,
	.Dlist dd, .Dlist.dt_S dd, .Dlist.dt_L > dd, .Dlist.dt_LL > dd{ float: none; padding-left: 0;}
	.alignleft, .alignright,
	.img_l, .img_r{
		margin: 0 auto 1.5em;
		float: none;
		display: block;
		max-width: 60%;
	}
	section{ padding: 2.5em 15px;}
	.gallery-item,
	.gallery-item:nth-of-type(3n){
		margin: 0 1.5% 10px !important;
		width: 47% !important;
		border: none !important;
	}
	.gallery-item:nth-of-type(1+3n){ clear: none;}
	.gallery-item:nth-of-type(odd){ clear: both;}
	.list50 { margin: 0 10px 2em;}
	.list50 li{ float: none; width: auto;}
	.list50 li:nth-child(odd),.list50 li:nth-child(even){ padding: 0;}
	#footer li a span{ display: none;}
	#banners p{ max-width: 48%;}
}

/* --- GET HIGHT --- */
section:after,
.inner:after,
.f_l:after, .f_r:after,
nav .panel:after, nav#mainNav:after, nav#mainNav ul:after,
.newsTitle:after,
.bg:after,
.post:after, .pagenav:after,
ul#banners:after,
#footer:after, #footer li a:after,
.flexbox:after,
.col_2:after, .col_3:after, .col_3x2:after, .col_4:after, .col_4x3:after,
.col_5:after, .col_5x2:after, .col_5x3:after, .col_5x4:after,
.clrfx:after,
.Dlist:after,
.post-content:after,
.post ol.flow > li:after,
.post ul:after,
.thumb:after,
.list50:after,
ul.post li:after,
.gallery:after,
.column1:after, .column2:after, .column3:after{ content:""; display: table;clear: both;}

section,
.inner,
.f_l, .f_r,
nav .panel, nav#mainNav, nav#mainNav ul,
.newsTitle,
.bg,
.post, .pagenav,
ul#banners,
#footer, #footer li a,
.flexbox,
.col_2, .col_3, .col_3x2, .col_4, .col_4x3,
.col_5, .col_5x2, .col_5x3, .col_5x4,
.clrfx,
.Dlist,
.post-content,
.post ol.flow > li,
.post ul,
.thumb,
.list50,
ul.post li,
.gallery,
.column1, .column2, .column3{zoom: 1;}
