/* -------------------- reset -------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }
body { line-height:1; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; text-decoration: none; }
a img { transition: .2s; }
a:hover, a:hover * { text-decoration: none; transition: .3s; }
/* change colours to suit your needs */
ins { background-color:#ff9; color:#000; text-decoration:none; }
/* change colours to suit your needs */
mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
/* change border colour to suit your needs */
hr { display:block; height:1px; border:0; border-top:1px solid #525c53; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }
input, textarea { border: 1px solid #e6e6e6; border-radius: 3px; -moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2); -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); padding:0 2%; width:96%; }
img { max-width: 100%; }

/* -------------------- item -------------------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: none }
@media(min-width:769px) { a[href^="tel:"] { pointer-events: none; text-decoration: none!important; color: #3c3c3c; } }
/* text align */
.Tcenter { text-align: center; }
.Tleft { text-align: left; }
.Tright { text-align: right; }
.textsub { vertical-align: sub; font-size: 50%; }
/* float */
.Fleft { float: left; }
.Fright { float: right; }
.Fleft, .Fright { width: 48%; margin: 0 auto; }
.Fnone { float: none; }
.clear { clear: both; }
.clearleft { clear: left; }
.clearfix:after { content: ""; clear: both; height: 0; display: block; visibility: hidden; }
/* flex */
.flex-wrapper { display: flex; }
/* PC only */
.PC { display: unset!important; }
div.PC { display: block; }
.SP { display: none!important; }
div.SP { display: none; }
.breakPC:before { content: "\A"; white-space: pre; }
.breakSP:before { content: ""; white-space: initial; }
/* columns */
.columns1 { column-count: 1; -webkit-column-count: 1; -moz-column-count: 1; -ms-column-count: 1; -o-column-count: 1; }
.columns2 { column-count: 2; -webkit-column-count: 2; -moz-column-count: 2; -ms-column-count: 2; -o-column-count: 2; }
.columns3 { column-count: 3; -webkit-column-count: 3; -moz-column-count: 3; -ms-column-count: 3; -o-column-count: 3; }
.columns4 { column-count: 4; -webkit-column-count: 4; -moz-column-count: 4; -ms-column-count: 4; -o-column-count: 4; }
.columns5 { column-count: 5; -webkit-column-count: 5; -moz-column-count: 5; -ms-column-count: 5; -o-column-count: 5; }
.columns6 { column-count: 6; -webkit-column-count: 6; -moz-column-count: 6; -ms-column-count: 6; -o-column-count: 6; }
.columns7 { column-count: 7; -webkit-column-count: 7; -moz-column-count: 7; -ms-column-count: 7; -o-column-count: 7; }
.columns8 { column-count: 8; -webkit-column-count: 8; -moz-column-count: 8; -ms-column-count: 8; -o-column-count: 8; }
.columns9 { column-count: 9; -webkit-column-count: 9; -moz-column-count: 9; -ms-column-count: 9; -o-column-count: 9; }
.columns10 { column-count: 10; -webkit-column-count: 10; -moz-column-count: 10; -ms-column-count: 10; -o-column-count: 10; }
.columns1 *, .columns2 *, .columns3 *, .columns4 *, .columns5 *, .columns6 *, .columns7 *, .columns8 *, .columns9 *, .columns10 * { -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; -ms-column-break-inside: avoid; -o-column-break-inside: avoid; column-break-inside: avoid; -moz-break-inside: avoid-column; -webkit-break-inside: avoid-column; -o-break-inside: avoid-column; -ms-break-inside: avoid-column; break-inside: avoid-column; -moz-break-inside: avoid; -webkit-break-inside: avoid; -o-break-inside: avoid; -ms-break-inside: avoid; break-inside: avoid; -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; -o-page-break-inside: avoid; page-break-inside: avoid; page-break-after: avoid; page-break-before: avoid; }
/* js sync */
.content-inner, .scroll-item { opacity : 0; transform : translate(0, 0); transition : all 1s; }
.content-inner.scroll-active, .scroll-item.scroll-active { opacity : 1; transform : translate(0, 0); }
@keyframes scaleBottom {
	0% { transform: scaleY(0); transition: transform .4s cubic-bezier(0.646, 0.046, 0.460, 0.9191) .4s; transform-origin: top; }
	50% { transform: scaleY(1); transform-origin: top; }
	51% { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; transition: transform .4s cubic-bezier(0.646, 0.046, 0.460, 0.9191) .4s; }
}
@keyframes scaleRight {
	0% { transform: scaleX(0); transition: transform .2s cubic-bezier(0.646, 0.046, 0.460, 0.9191) .2s; transform-origin: left; }
	30% { transform: scaleX(1); transform-origin: left; }
	50% { transform: scaleX(1); transform-origin: right; }
	100% { transform: scaleX(0); transform-origin: right; transition: transform .2s cubic-bezier(0.646, 0.046, 0.460, 0.9191) .2s; }
}
.anime-wrapper { position: relative; }
.anime-wrapper .anime { position: relative; transform: scaleX(0) scaleY(1); transition: all .2s cubic-bezier(0.046, 0.797, 0.460, 0.9191) .2s; transform-origin: top; }
.anime-wrapper.anime-active .anime { transform: scaleX(1); }
.anime-wrapper:after { transform: scaleX(0) scaleY(1); content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding-right: 1rem; background: #fff; z-index: 10; }
.anime-wrapper.anime-active:after { animation: scaleRight 1s; }

/* ajax loader */
.loader { display: block; position: fixed; width: 100%; height: 100%; z-index: 100000000; background-color: #fff; }
.ball-pulse { position: absolute; top: 50%; width: 100%; text-align: center; }
.ball-pulse>div:nth-child(1) { background-color: #B0B4B0; }
.ball-pulse>div:nth-child(2) { background-color: #535c53; }
.ball-pulse>div:nth-child(3) { background-color: #2E332E; }
@-webkit-keyframes scale {
	0% { transform: scale(1); opacity: 1; }
	45% { transform: scale(0.1); opacity: 0.7; }
	80% { transform: scale(1); opacity: 1; }
}
@keyframes scale {
	0% { transform: scale(1); opacity: 1; }
	45% { transform: scale(0.1); opacity: 0.7; }
	80% { transform: scale(1); opacity: 1; }
}
.ball-pulse > div:nth-child(1) { animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
.ball-pulse > div:nth-child(2) { animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
.ball-pulse > div:nth-child(3) { animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
.ball-pulse > div { background-color: #fff; width: 15px; height: 15px; border-radius: 100%; margin: 2px; animation-fill-mode: both; display: inline-block; }
@-webkit-keyframes ball-pulse-sync {
	33% { transform: translateY(10px); }
	66% { transform: translateY(-10px); }
	100% { transform: translateY(0); }
}
@keyframes ball-pulse-sync {
	33% { transform: translateY(10px); }
	66% { transform: translateY(-10px); }
	100% { transform: translateY(0); }
}
.ball-pulse-sync > div:nth-child(1) { animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }
.ball-pulse-sync > div:nth-child(2) { animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out; }
.ball-pulse-sync > div:nth-child(3) { animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }
.ball-pulse-sync > div { background-color: #fff; width: 15px; height: 15px; border-radius: 100%; margin: 2px; animation-fill-mode: both; display: inline-block; }

/* -------------------- PC -------------------- */
/**
* common
*/
body { width: 100%; min-width: 1200px; overflow-x: hidden; background-color: #fff; transition: .2s; }
.main-wrapper { overflow: hidden; }
.shadow { box-shadow: #b5b5b6 4px 4px 6px; }
.main-wrapper img { margin-bottom: -4px; }

/**
* fonts
**/
body { font-family: メイリオ,Meiryo,游ゴシック体,'Yu Gothic',YuGothic,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro',Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif; }
.copyright { font-family: 'Roboto', 'Yu Gothic', YuGothic, Meiryo, Osaka, sans-serif; }


/**
* animation
**/
@keyframes titleanime {
	0% { filter: hue-rotate(0deg); }
	25% { filter: hue-rotate(90deg); }
	50% { filter: hue-rotate(180deg); }
	75% { filter: hue-rotate(270deg); }
	100% { filter: hue-rotate(360deg); }
}
@keyframes drift {
	0% { transform: translate(0, 0) rotate(-5deg); }
	50% { transform: translate(0, -5px) rotate(0deg); }
	100% { transform: translate(0, 0) rotate(5deg); }
}
.drift { animation: drift 3s infinite linear alternate; }

@keyframes rotation {
	0% { transform: rotate(0); }
	100% { transform: rotate(360deg); }
}
.rotation { animation: 20s linear infinite rotation; }

/**
* header
*/
header { height: 88px; background-color: #fff; }
.header-logo { display: inline-block; padding: 15px 0 0 125px; }
header nav { float: right; }

/**
* nav
*/
nav li { width: 190px; margin-left: 45px; }
nav li a { display: block; width: 100%; padding: 20px 0; text-align: center; box-sizing: border-box; }
nav li a p { display: inline-block; color: #333; width: 100%; }
nav li a p span { display: inline-block; width: 100%; padding-top: 7px; margin-top: 7px; border-top: 1px solid #333; }
nav li:last-child { background-color: #003451; }
nav li:last-child a { padding: 20px; }
nav li:last-child a p { color: #fff; }
nav li:last-child a p span { border-color: #fff; }

/**
* footer
*/
.footer-top .footer-inner > div:nth-child(1) { width: 100%; max-width: 1260px; margin: 0 auto; }
.footer-top .flex-wrapper { width: 100%; margin: 27px 0 0; }
.footer-top .flex-wrapper div { width: 100%; }
.footer-top .flex-wrapper img { width: 100%; }
.footer-middle { padding: 60px 0 40px; background-color: #f0f4f6; }
.footer-middle .footer-inner { width: 100%; max-width: 1260px; margin: 0 auto; align-items: center; }
.footer-middle .flex-wrapper > div { width: 30%; }
.footer-middle .flex-wrapper > div img { width: 100%; max-width: 220px; }
.footer-middle .flex-wrapper > div h3 { font-size: 24px; margin: 37px 0 10px; }
.footer-middle .flex-wrapper > div p { line-height: 1.75; }
.footer-middle .flex-wrapper > nav { width: 70%; }
.footer-bottom { background-color: #f0f4f6; }
.footer-bottom .Tcenter { border-bottom: 5px solid #053653; padding-bottom: 5px; margin-bottom: 25px; }
.footer-bottom .Tcenter a { display: inline-block; width: 80px; height: 80px; }
.footer-bottom .Tcenter a img { width: 100%; }
.footer-bottom .flex-wrapper { justify-content: center; align-items: baseline; }
.footer-bottom .flex-wrapper > div { margin: 0 20px; }
.footer-bottom .copyright { text-align: center; padding: 40px 0; }
.footer-bottom .copyright p { font-size: 14px; color: #003451; letter-spacing: 4px; }

/**
* index
*/
/* common */
.content-inner { position: relative; width: 100%; max-width: 1260px; margin: 0 auto; }
.hl2-wrapper h2 { font-size: 70px; text-align: center; color: #003451; letter-spacing: 1px; line-height: 1; padding: 16px 0; }

.button-deco1 { height: 63px; width: 100%; max-width: 320px; margin: 0 auto; background-color: #485156; border-radius: 5px; overflow: hidden; }
.button-deco1 a { position: relative; width: 100%; height: 100%; color: #fff; box-sizing: border-box; align-items: center; justify-content: center; }
.button-deco1 a:after { content: ""; display: block; position: absolute; width: 6px; height: 6px; top: calc(50% - 5px); right: 20px; border-style: solid; border-color: #fff; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.button-deco1 a > * { text-align: center; font-size: 14px; line-height: 1.5; }
.button-deco1 a p { width: calc(60% - 2px); border-right: 2px solid #fff; }
.button-deco1 a span { width: 40%; }

.button-deco2 a { display: block; position: relative; max-width: 90%; width: 750px; height: 98px; line-height: 98px; text-align: center; border-radius: 10px; color: #fff; font-size: 28px; font-weight: bold; letter-spacing: 10px; background-color: #485156; margin: 0 auto; }

/* main-banner */
.main-banner-wrapper { position: relative; width: 100%; }
.main-banner img { width: 100%; }
.mb-sns { position: absolute; width: 30px; top: 75%; right: 10px; text-align: center; }
.mb-sns div { margin-bottom: 15px; ; }

/* banner */
.banner-wrapper { width: 100%; max-width: 960px; margin: 30px auto 0; }
.banner-ss a:hover { opacity: .8; }

/* index1 */
#index1 { padding: 150px 0 0; }
#index1 .index1-icon { position: absolute; top: 0; left: 0; }
#index1 .foat-wrapper { padding: 104px 0 0; }
#index1 .Fleft { width: 26%; margin-top: 77px; }
#index1 .Fleft:nth-child(1) p { font-size: 36px; font-weight: bold; line-height: 1.7; }
#index1 .Fright.flex-wrapper { width: 70.5%; flex-wrap: wrap; }
#index1 .Fright.flex-wrapper > div { width: calc(50% - 10px); border: 5px solid #003451; border-radius: 20px; box-sizing: border-box; overflow: hidden; margin-bottom: 20px; background-color: #fff; }
#index1 .Fright.flex-wrapper > div:nth-child(odd) { margin-right: 20px; }
#index1 .Fright.flex-wrapper > div div { position: relative; width: 50%; }
#index1 .Fright.flex-wrapper > div div img { width: 100%; height: 100%; object-fit: cover; }
#index1 .Fright.flex-wrapper > div div h3 { position: absolute; left: 0; bottom: 20px; display: block; width: 80%; padding: 15px 0; text-align: center; color: #fff; background-color: #003451; letter-spacing: 2px; }
#index1 .Fright.flex-wrapper > div div p { padding: 20px; font-size: 14px; line-height: 1.5; }
#index1 .Fright.flex-wrapper > div div p b { font-size: 120%; display: inline-block; width: 100%; margin-bottom: 10px; }
#index1 .Fleft:nth-child(3) { margin-top: 60px; }

/* index2 */
#index2 { padding: 111px 0 108px; }
#index2 .float-wrapper > .Fleft { width: 62%; border: 5px solid #003451; border-radius: 40px; overflow: hidden; box-sizing: border-box; }
#index2 .float-wrapper > .Fright { width: 38%; text-align: right; }
#index2 img { width: 100%; height: 100%; object-fit: cover; }
#index2 .hl2-wrapper h2{ text-align: right; padding: 0 0 34px; }
#index2 .Tright { margin-bottom: 11px; }
#index2 .Tright p b { font-size: 34px; line-height: 1.5; }
#index2 .Tright p { font-size: 24px; line-height: 1.4; }
#index2 .button-deco1 { margin: 0 0 0 auto; }

/* index3 */
#index3 { padding: 50px 0; background-color: #9fd5de; }
#index3 .flex-wrapper > div { position: relative; width: 30.3%; margin: 0 1.5%; padding-bottom: 40px; text-align: center; background-color: #fff; border: 5px solid #003451; border-radius: 20px; box-sizing: border-box; overflow: hidden; }
#index3 .flex-wrapper > div img { width: 100%; }
#index3 .flex-wrapper > div:nth-child(2) img { margin-top: 30px; }
#index3 .flex-wrapper > div > h2 { font-size: 46px; color: #003451; line-height: 1; margin-top: 40px; }
#index3 .flex-wrapper > div > h2 span { display: block; font-size: 50%; color: #333; margin-top: 15px; }
#index3 .flex-wrapper > div > p { font-size: 28px; line-height: 1.5; margin: 20px auto; }
#index3 .flex-wrapper > div:nth-child(2) > p { margin-bottom: 77px; }
#index3 .fb-page { width: 100%; }

/* index4 */
#index4 { padding: 50px 0 38px; }
#index4 .float-wrapper > .Fleft { width: 64%; box-sizing: border-box; }
#index4 .float-wrapper > .Fright { width: 36%; text-align: right; }
#index4 img { width: 100%; }
#index4 .hl2-wrapper { margin: 70px 0 20px; }
#index4 .hl2-wrapper h2{ text-align: right; padding: 0; font-size: 65px; }
#index4 .Tright { margin-bottom: 11px; }
#index4 .Tright p { font-size: 30px; font-weight: bold; line-height: 1.4; }
#index4 .Tright p b { font-size: 46px; }
#index4 .button-deco1 { margin: 0 0 0 auto; }
#index4 .float-wrapper > .Fright img { margin: 22px 0 44px; }

/* index5 */
#index5 { padding: 32px 0; background-color: #9fd5de; }
#index5 .Tcenter { width: 100%; max-width: 500px; height: 64px; line-height: 64px; font-size: 42px; color: #fff; font-weight: bold; letter-spacing: 2px; background-color: #003451;margin: 0 auto; }
#index5 .mrs-wrapper { margin: 64px auto; background-color: #fff; border: 5px solid #003451; border-radius: 50px; box-sizing: border-box; overflow: hidden; }
#index5 .ss-item { display: none; }
#index5 #item1 { display: block; }
#index5 .ss-item img { width: 100%; }
#index5 .Tleft { font-size: 18px; padding: 45px 0 30px 50px; }
#index5 .mrs-nav { flex-wrap: wrap; padding: 0 45px 30px; }
#index5 .mrs-nav > div { margin: 0 10px 10px 0; }
#index5 .mrs-nav div p { padding-bottom: 4px; margin-bottom: 4px; border-bottom: 2px solid #003451; }
#index5 .mrs-nav .nav-item a { display: block; color: #fff; font-size: 16px; font-weight: bold; padding: 15px; margin: 0 5px; background-color: #003451; border-radius: 10px; }
#index5 .mrs-nav > div:nth-child(1) a { font-size: 24px; padding: 24px; background-color: #2d305b; }
#index5 .mrs-nav > div:nth-child(2) a { background-color: #146334; }
#index5 .mrs-nav > div:nth-child(3) a { background-color: #bc1d22; }
#index5 .mrs-nav > div:nth-child(4) a { background-color: #9a0f7a; }
#index5 .mrs-nav > div:nth-child(5) a { background-color: #267bb8; }
#index5 .mrs-nav > div:nth-child(6) a { background-color: #ec6518; }
#index5 .mrs-nav > div:nth-child(7) a { background-color: #07358a; }
#index5 .mrs-nav > div:nth-child(8) a { background-color: #9a0f79; }
#index5 .mrs-nav div:nth-child(2) p { border-color: #146334; }
#index5 .mrs-nav div:nth-child(3) p { border-color: #bc1d22; }
#index5 .mrs-nav div:nth-child(4) p { border-color: #9a0f7a; }
#index5 .mrs-nav div:nth-child(5) p { border-color: #267bb8; }
#index5 .mrs-nav div:nth-child(6) p { border-color: #ec6518; }
#index5 .mrs-nav div:nth-child(7) p { border-color: #07358a; }
#index5 .mrs-nav div:nth-child(8) p { border-color: #9a0f79; }

/* index6 */
#index6 { padding: 132px 0; }
#index6 .hl2-wrapper h2 { display: block; width: 100%; height: 100px; line-height: 100px; color: #333; font-size: 40px; letter-spacing: 40px; padding: 0; border: 3px solid #333; border-radius: 5px; box-sizing: border-box; }
#index6 .Tcenter p { font-size: 32px; line-height: 1.75; margin: 47px auto 24px; }
#index6 .flex-wrapper > div { width: 30%; padding: 40px; margin-right: 5%; border: 3px solid #333; border-radius: 5px; box-sizing: border-box; }
#index6 .flex-wrapper > div:last-child { margin-right: 0; }
#index6 h3 { font-size: 26px; text-align: center; line-height: 1.5; margin: 17px auto; padding-bottom: 22px; }
#index6 .flex-wrapper > div:nth-child(2) h3 { margin-top: 0; padding-bottom: 0; }
#index6 li { list-style: none; font-size: 22px; color: #e7222c; line-height: 1.7; text-indent: -22px; margin-left: 22px; }
#index6 p { font-size: 22px; line-height: 1.7; margin-top: 12px; }

/* contact */
#contact-wrapper .contact-top { padding: 100px 0 61px; background-color: #9fd5de; }
#contact-wrapper .contact-top h2 { font-size: 26px; text-align: center; font-weight: bold; }
#contact-wrapper .contact-top ul { list-style-position: outside; margin: 23px auto; }
#contact-wrapper .contact-top li { font-size: 20px; line-height: 1.7; margin-left: 4%; }
#contact-wrapper .contact-top .flex-wrapper > div { width: 29%; margin: 0 2.16%; }
#contact-wrapper .contact-top .flex-wrapper img { width: 100%; }
#contact-wrapper .contact-bottom { padding: 82px 0 55px; }
#contact-wrapper .contact-bottom .button-deco2 { margin-bottom: 82px; }
#contact-wrapper .contact-bottom > div > div:nth-child(2) { width: 1092px; max-width: 90%; margin: 0 auto; padding: 40px 100px; border: 2px solid #333; box-sizing: border-box; }
#contact-wrapper .contact-bottom h2 { font-size: 26px; font-weight: bold; }
#contact-wrapper .contact-bottom p { line-height: 1.75; margin-top: 15px; }
#contact-wrapper .contact-bottom p a { color: #f6b140; padding: 0 5px; border-bottom: 1px solid #f6b140; }


/**
* scroll actions
*/


/* -------------------- SP -------------------- */
@media (max-width:1550px) {

	@media (max-width:1429px) {
		body { overflow-x: unset; }

		/* header */
		header { height: auto; }

		@media(max-width:1024px) {			
			/* common */
			body { min-width: unset; }
			.content-inner { width: 96%; margin-right: auto; margin-left: auto; }

			/* header */
			nav li { width: 20%; }
			
			/* footer */
			.footer-top .footer-inner > div:nth-child(1) { max-width: 90%; }
			.footer-middle > .flex-wrapper { flex-wrap: wrap; }
			.footer-middle > .flex-wrapper > div, .footer-middle > .flex-wrapper > div:nth-child(2) { width: 100%; text-align: center; }
			.footer-middle .flex-wrapper > nav { width: 100%; margin: 30px auto 0; }
			.footer-middle .flex-wrapper > nav li { width: calc(25% - 40px); margin: 0 20px; }

			/* banner */
			.banner-wrapper { max-width: 96%; }
			
			/* index1 */
			#index1 .index1-icon { position: relative; text-align: center; margin: 20px auto; }
			#index1 .foat-wrapper .Fleft, #index1 .foat-wrapper .Fright { float: none; width: 100%; }
			#index1 .Fleft  { margin: 0 auto; text-align: center; }
			#index1 .Fleft:nth-child(1) p { margin-bottom: 20px; }
			#index1 .breakPC:before { content: ""; white-space: unset; }
			
			/* index2 */
			#index2 .float-wrapper { flex-wrap: wrap; }
			#index2 .float-wrapper > .Fleft, #index2 .float-wrapper > .Fright { width: 100%; text-align: center; }
			#index2 .hl2-wrapper h2 { text-align: center; margin: 30px auto 0; }
			#index2 .Tright { text-align: center; margin-top: 20px; }
			#index2 .breakPC:before { content: ""; white-space: unset; }
			#index2 .button-deco1 { margin: 20px auto 0; }

			/* index3 */
			#index3 .flex-wrapper { flex-wrap: wrap; }
			#index3 .flex-wrapper > div { width: 100%; max-width: 768px; margin: 0 auto 30px; }

			/* index4 */
			#index4 .float-wrapper { flex-wrap: wrap; }
			#index4 .float-wrapper > .Fleft, #index4 .float-wrapper > .Fright { width: 100%; text-align: center; }
			#index4 .hl2-wrapper h2 { text-align: center; margin: 30px auto 0; }
			#index4 .Tright { text-align: center; margin-top: 20px; }
			#index4 .breakPC:before { content: ""; white-space: unset; }
			#index4 .button-deco1 { margin: 20px auto 0; }

			/* index6 */
			#index6 .Tcenter p { font-size: 24px; }
			#index6 .flex-wrapper { flex-wrap: wrap; }
			#index6 .flex-wrapper > div { width: 100%; max-width: 768px; margin: 0 auto 30px; }
			#index6 .flex-wrapper > div:last-child { margin-right: auto; }

			/* contact-wrapper */
			#contact-wrapper .contact-top h2 { line-height: 1.75; }
			#contact-wrapper .contact-top .flex-wrapper { flex-wrap: wrap; }
			#contact-wrapper .contact-top .flex-wrapper > div { width: 100%; max-width: 768px; margin: 0 auto 30px; }
			
			
			@media(max-width:768px) {
				header { position: relative ; height: 60px; }
				header .header-logo { position: absolute; top: 10px; left: 10px; padding: 0; }
				header nav { position: fixed; display: block; height: 0; width: 0; z-index: 1000; top: 0; right: 0; padding-top: 60px; background: #003451; transition: .3s; }
				header nav li { width: 90%; max-width: 320px; margin: 0 auto 20px; border: 1px solid #fff; box-sizing: border-box; }
				header nav li a { padding: 20px; }
				header nav li a p { color: #fff; }
				header nav li a p span { border-color: #fff; }
				header nav.active { width: 100%; height: 100vh; }
				header nav ul.flex-wrapper { display: unset; }
				header .route-icon1 { position: absolute; top: 0; right: 60px; }
				.menu-button { display: block; position: fixed; top: 0; right: 0; width: 60px; height: 60px; background-color: #fff; pointer-events: painted; z-index: 1001; }
				.menu-button span { position: absolute; left: 25%; width: 50%; height: 4px; background-color: #003451; border-radius: 4px; }
				.menu-button span:nth-of-type(1) { top: calc( 50% - 22px); }
				.menu-button span:nth-of-type(2) { top: calc( 50% - 12px); }
				.menu-button span:nth-of-type(3) { top: calc( 50% - 2px); }
				.menu-button.active-button span { background-color: #fff; }
				.menu-button.active-button span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); }
				.menu-button.active-button span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards; }
				.menu-button.active-button span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-10px) rotate(45deg); }
				.menu-button p { position: absolute; bottom: 8px; right: 0; left: 0; text-align: center; color: #003451; }
				.main-wrapper { margin-left: 0; }

				.SP { display: unset!important; }
				div.SP { display: block; }
				.PC { display: none!important; }
				div.PC { display: none; }
				.breakSP:before { content: "\A"; white-space: pre; }
				.breakPC:before { content: ""; white-space: unset; }
				.Fleft, .Fright { float: none; width: 100%; }
				.notscroll { overflow: hidden; height: 100%; }
				a:hover, a:hover * { opacity: unset; transition: .3s; }

				/* index1 */
				#index1 { padding-top: 50px; }
				#index1 .index1-icon { display: none; }
				#index1 .foat-wrapper { padding-top: 0; }
				#index1 .Fright.flex-wrapper > div:nth-child(odd), #index1 .Fright.flex-wrapper > div:nth-child(even) { width: 100%; margin: 0 auto 20px; }
				#index1 .Fleft:nth-child(3) { margin-top: 20px; }

				/* index2 */
				#index2 .Tright { margin-bottom: 20px; }
				#index2 .Tright p { font-size: 18px; }
				#index2 .Tright p b { font-size: 24px; }

				/* index5 */
				#index5 .mrs-nav .flex-wrapper { flex-wrap: wrap; }
				#index5 .mrs-nav .nav-item a { line-height: 1.75; margin-bottom: 10px; padding: 5px 15px; }
				#index5 .mrs-nav > div:nth-child(1) a { padding: 10px 15px; }

				/* footer */
				.footer-top .flex-wrapper { flex-wrap: wrap; }
				.footer-top .flex-wrapper div { width: 33.33%; }
				.footer-middle .flex-wrapper { flex-wrap: wrap; }
				.footer-middle .flex-wrapper > nav li { width: calc(50% - 40px); }

				@media (max-width:767px) {
					.hl2-wrapper h2, #index4 .hl2-wrapper h2 { font-size: 46px; }
					#index1 .Fleft:nth-child(1) p { font-size: 20px; }
					#index1 .Fright.flex-wrapper > div div p { padding: 15px; font-size: 12px; }
					#index1 .Fright.flex-wrapper > div div p b { font-size: 14px; }
					#index2 { padding: 60px 0; }
					#index2 .Tright p b { font-size: 20px; }
					#index4 { padding: 40px 0; }
					#index4 .hl2-wrapper { margin: 0 auto 20px; }
					#index4 .hl2-wrapper h2 { margin-top: 0; }
					#index4 .Tright p { font-size: 20px; }
					#index4 .Tright p b { font-size: 150%; }
					#index4 .float-wrapper > .Fright img { width: 90%; margin: 10px auto; }
					#index5 .Tcenter { font-size: 20px; height: 46px; line-height: 46px; }
					#index5 .mrs-wrapper { margin: 30px auto; }
					#index5 .Tleft { padding: 0; margin: 10px 20px; line-height: 1.75; }
					#index5 .mrs-nav { padding: 0 10px 20px; }
					#index6 { padding: 30px 0; }
					#index6 .hl2-wrapper h2 { text-align: center; letter-spacing: 20px; }
					#index6 .Tcenter p { font-size: 16px; text-align: left; margin-top: 20px; }
					#index6 .flex-wrapper > div { padding: 20px; }
					#index6 h3, #index6 .flex-wrapper > div:nth-child(2) h3 { font-size: 20px; margin: 0 auto; padding-bottom: 20px; }
					#index6 li, #index6 p { font-size: 18px; }
					#contact-wrapper .contact-top { padding: 30px 0; }
					#contact-wrapper .contact-top h2, #contact-wrapper .contact-top li { font-size: 16px; text-align: left; }
					#contact-wrapper .contact-top ul { margin: 20px; }
					#contact-wrapper .contact-bottom { padding: 30px 0; }
					.button-deco2 a { font-size: 18px; letter-spacing: 1px; height: 46px; line-height: 46px; }
					#contact-wrapper .contact-bottom .button-deco2 { margin-bottom: 20px; }
					#contact-wrapper .contact-bottom > div > div:nth-child(2) { padding: 20px; }
					#contact-wrapper .contact-bottom h2 { font-size: 20px; }
					.footer-top .flex-wrapper { margin-top: 0; }
					.footer-middle .flex-wrapper > nav li { width: 90%; margin: 0 auto 10px; }

					@media (max-width:512px) {

						@media (max-width:456px) {

							@media (max-width:321px) {

							}
						}
					}
				}
			}
		}
	}
}

@media print { .scroll-fade, section, .content-inner, .scroll-item { opacity: 1; } }