@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/*********************************
 *
 * 全ページ共通
 *
 *********************************/

html { background: #fff; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body { font-family: 'Noto Sans JP', sans-serif; font-weight: 400; color:#444; background: #fff; }

.yt { position: relative; width: 100%; padding-top: 56.25%; }
.yt iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* LINK */
a,
a:visited {color:#444; text-decoration: underline;}
a:active,
a:hover {color:#aaa; text-decoration:none;}
a:hover img.hover {filter:alpha(opacity=70); -moz-opacity:0.7; opacity:0.7;}
a.hover:hover {filter:alpha(opacity=70); -moz-opacity:0.7; opacity:0.7;}

/* fonts */
.ft_nosns_lgt { font-family: "Noto Sans JP"; font-weight: 100; }
.ft_nosns_reg { font-family: "Noto Sans JP"; font-weight: 300; }
.ft_nosns_med { font-family: "Noto Sans JP"; font-weight: 500; }
.ft_nosns_bld { font-family: "Noto Sans JP"; font-weight: 700; }
.ft_nosns_blk { font-family: "Noto Sans JP"; font-weight: 900; }
.ft_zenm_lgt { font-family: "Zen Maru Gothic"; font-weight: 300; }
.ft_zenm_reg { font-family: "Zen Maru Gothic"; font-weight: 400; }
.ft_zenm_med { font-family: "Zen Maru Gothic"; font-weight: 500; }
.ft_zenm_bld { font-family: "Zen Maru Gothic"; font-weight: 700; }
.ft_zenm_blk { font-family: "Zen Maru Gothic"; font-weight: 900; }
.ft_kaid_reg { font-family: "Kaisei Decol"; font-weight: 300; }
.ft_kaid_med { font-family: "Kaisei Decol"; font-weight: 500; }
.ft_kaid_bld { font-family: "Kaisei Decol"; font-weight: 700; }

/* MARGIN */


/* FONT */
.ft_bold { font-weight: bold; }
.ft_normal { font-weight: normal; }
.large { font-size: 1.3em; line-height: 2.0em; }
.small { font-size: 0.85em; line-height: 1.65em; }
.caution { color: #8b3654; }
.caution2 { text-decoration: underline; }

/* IMAGE */
a:hover img.hover { filter: alpha(opacity=70); -moz-opacity:0.7; opacity:0.7; }
a:hover img.none { filter: none; -moz-opacity:1; opacity:1; }

/* clearfix */
.clearfix:before, .clearfix:after {content:""; display:block;	overflow:hidden;}
.clearfix:after {clear:both;}
.clearfix {zoom:1;}


/******************************************************************
 * style
 ******************************************************************/

@media screen and (min-width:751px){/* -------------------------PC */
html { min-width: 1080px; }
body { line-height: 1.8em; font-size: 16px; }
.sp {display:none !important;}

 /* header */
/* header */
header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-width: 1280px;
	height: 60px;
	background: rgba(255,255,255,0.8);
	z-index: 9999;
	backdrop-filter: blur(5px);
	color: #000;
}
header a { text-decoration: none; }
header .inner { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; min-width: 1280px; margin: 0; padding: 0; }
header .logo { padding: 5px 0 0 10px; }
header .logo h1 { padding: 0; margin: 0; font-size: 22px; line-height: 1em; }
header .logo h1 a { display: block; line-height: 44px; padding: 0 0 0 80px; background: url("../images/header_logo.png") left top no-repeat; background-size: contain; }
header .btn {}
header .btn a { display: block; width:  200px; font-size: 20px; line-height: 60px; color: #fff; border-radius: 0 0 0 30px; background: linear-gradient(to right, #62bfea, #1d85b6); text-align: center; }


/* style */
div.title { width: 100%; max-width: 1080px; margin: 0 auto; }
div.title h2 { width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 35px; line-height: 1.35em; }
div.title h2::before,
div.title h2::after { content: ""; height: 2px; flex-grow: 1; background-color: #509cc0; }
div.title h2::before  { margin-right: 40px; }
div.title h2::after { margin-left: 40px;  }
div.title h2 span { color: #e35d5d; }

div.subtitle { width: 100%; max-width: 1080px; margin: 0 auto; }
div.subtitle h3 { width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 30px; line-height: 1.35em; }
div.subtitle h3::before,
div.subtitle h3::after { content: ""; height: 2px; width: 100px; background-color: #509cc0; }
div.subtitle h3::before  { margin-right: 40px; }
div.subtitle h3::after { margin-left: 40px;  }
div.subtitle h3 span { color: #e35d5d; }


/* footer */
div.pagetop { position: relative; width: 100%; margin: 0 auto 0 auto; padding: 10px 0; text-align: center; background: #000; }
div.pagetop img { width: 58px; }
footer { margin: 0 0 0 0; }
#footer_top { width: 100%; text-align: center; margin: 0 0 0 0; padding: 100px 0; background: #509cc0; color: #fff; }
#footer_top h3 { display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; }
#footer_top h3::before,
#footer_top h3::after { content: ""; width: 50px; height: 1px; background: #fff; }
#footer_top h3::before { margin-right: 20px; }
#footer_top h3::after { margin-left: 20px; }
#footer_top .lead { padding: 40px 0 0 0; }
#footer_top .child { padding: 40px 0 0 0; font-size: 40px; font-weight: 700; }
#footer_top .child p { display: inline-block; }
#footer_top .child p+p { margin: 0 0 0 1.0em; }
#footer_top .child p span { color: #ffeb7d; }
#footer_top .child p.mail { line-height: 67px; padding: 0 0 0 90px; background: url("../images/footer_icn_mail.png") left center no-repeat; background-size: 67px; }

div#footer { width: 100%; margin: 0 0 0 0; padding: 20px 0; background: #e4f2fd; }
div#footer div.footercontents { position: relative; width: 1024px; margin: 0 auto; }
div#footer div.footercontents .navi { width: auto; margin: 0; padding: 0; font-size: 15px; line-height: 1em; font-weight: 400; text-align: center; }
div#footer div.footercontents .navi a {color: #154b78;}
div#footer div.footercontents .navi a:hover { text-decoration: none; }
div#footer div.footercontents .navi > ul {}
div#footer div.footercontents .navi > ul > li { display: inline-block; padding: 0 0; margin: 0 0 0 0; }
div#footer div.footercontents .navi > ul > li a { display: inline-block; padding: 0.5em 0.5em; }
div#footer div.footercontents .navi > ul > li.active a,
div#footer div.footercontents .navi > ul > li a:hover { background: rgba(21,75,120,1.0); color: #fff; opacity: 1.0 !important; border-radius: 3px; }
div#footer div.footercontents .navi > ul > li+li::before {
	display: inline-block;
	content: "／";
	padding: 0 0.125em;
}
div#footer div.footercontents .link { text-align: center; padding: 20px 0 0 0; }
div#footer div.footercontents .link   a { display: inline-block; padding: 0 1em; margin: 0 5px; border: 1px solid #154b78;  color: #154b78; font-size: 13px; line-height: 22px; border-radius: 13px; text-decoration: none; }
div#footer div.footercontents .link   a:hover { background: #154b78; color: #fff; text-decoration: none; }
div#footer div.footercontents .logo { text-align: center; padding: 20px 0; }
div#footer div.footercontents .copy { text-align: center; color: #154b78; font-size: 12px; font-weight: 500; }

}/* /@media */


@media screen and (max-width:750px){/* -------------------------SP */
html {  }
body { line-height: 1.65em; font-size: 3.2vw; }
.pc {display:none !important;}

 /* header */
header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 8vw;
	background: rgba(255,255,255,0.8);
	z-index: 9999;
	backdrop-filter: blur(5px);
	color: #000;
	overflow: hidden;
}
header a { text-decoration: none; }
header .inner { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; margin: 0; padding: 0; }
header .logo { padding: 0.666vw 0 0 1.333vw; }
header .logo h1 { padding: 0; margin: 0; font-size: 2.9333vw; line-height: 1em; }
header .logo h1 a { display: block; line-height: 5.866vw; padding: 0 0 0 10.666vw; background: url("../images/header_logo.png") left top no-repeat; background-size: contain; }
header .btn { font-size: 2.7333vw }
header .btn a { display: block; width:  26.666vw; line-height: 8vw; color: #fff; border-radius: 0 0 0 4vw; background: linear-gradient(to right, #62bfea, #1d85b6); text-align: center; }
/* style */
div.title { position: relative; width: 100%; margin: 0 auto; }
div.title h2 { width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 6vw; line-height: 1.35em; }
div.title h2::before,
div.title h2::after { content: ""; height: 2px; flex-grow: 1; background-color: #509cc0; }
div.title h2::before  { margin-right: 5.33vw; }
div.title h2::after { margin-left: 5.33vw;  }
div.title h2 span { color: #e35d5d; }

div.subtitle { position: relative; width: 100%; margin: 0 auto; }
div.subtitle h3 { width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 5vw; line-height: 1.35em; }
div.subtitle h3::before,
div.subtitle h3::after { content: ""; height: 2px; width: 9.33vw; background-color: #509cc0; }
div.subtitle h3::before  { margin-right: 5.33vw; }
div.subtitle h3::after { margin-left: 5.33vw;  }
div.subtitle h3 span { color: #e35d5d; }

/* footer */
div.pagetop { position: relative; width: 100%; margin: 0 auto 0 auto; padding: 1.33vw 0; text-align: center; background: #000; font-size: 1px; line-height: 1; }
div.pagetop img { width: 7.733vw; }
footer { margin: 0 0 0 0; }
#footer_top { width: 100%; text-align: center; margin: 0 0 0 0; padding: 9.33vw 0; background: #509cc0; color: #fff; }
#footer_top h3 { display: flex; align-items: center; justify-content: center; font-size: 3.6vw; font-weight: 700; }
#footer_top h3::before,
#footer_top h3::after { content: ""; width: 6.66vw; height: 1px; background: #fff; }
#footer_top h3::before { margin-right: 2.66vw; }
#footer_top h3::after { margin-left: 2.66vw; }
#footer_top .lead { padding: 5.33vw 0 0 0; font-size: 2.8vw; }
#footer_top .child { padding: 5.33vw 0 0 0; font-size: 6vw; font-weight: 700; }
#footer_top .child p { display: inline-block; }
#footer_top .child p+p { margin: 0.5em 0 0 0; }
#footer_top .child p span { color: #ffeb7d; }
#footer_top .child p.mail { line-height: 8.933vw; padding: 0 0 0 12vw; background: url("../images/footer_icn_mail.png") left center no-repeat; background-size: 8.933vw; }
#footer_top .inner { width: 86.66vw; margin: 0 auto; }

div#footer { width: 100%; margin: 0 0 0 0; padding: 5vw 0 14vw 0; background: #e4f2fd; }
div#footer div.footercontents { position: relative; width: 100%; margin: 0 auto; }
div#footer div.footercontents .navi { width: auto; margin: 0; padding: 0; font-size: 15px; line-height: 1em; font-weight: 400; text-align: center; }
div#footer div.footercontents .navi a {color: #154b78;}
div#footer div.footercontents .navi a:hover { text-decoration: none; }
div#footer div.footercontents .navi > ul { width: calc(100% - 2%); margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
div#footer div.footercontents .navi > ul > li { position: relative; width: 49%; }
div#footer div.footercontents .navi > ul > li a { display: block; padding: 1em 0.5em; border-bottom: 1px solid rgba(21,75,120,1.0); }

div#footer div.footercontents .link { text-align: center; margin: 0 0 0 0; }
div#footer div.footercontents .link  a { display: inline-block; padding: 0 1em; margin: 0 0.6vw; border: 1px solid #154b78;  color: #154b78; font-size: 2.2vw; line-height: 3.2vw; border-radius: 1.6vw; text-decoration: none; }
div#footer div.footercontents .link  a:hover { background: #154b78; color: #fff; }
div#footer div.footercontents .logo { text-align: center; padding: 2.6vw 0; }
div#footer div.footercontents .copy { text-align: center; color: #154b78; font-size: 12px; font-weight: 500; }

}/* /@media */
