@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;500&family=Sofia+Sans:wght@700&display=swap');


/* common
-------------------------------------------------*/
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;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display: block;
}
i {
    font-style: normal;
}
ul {
    list-style: none;
}
img {
    width: 100%;
    max-width: 100%;
    height: auto;
	border: none;
	vertical-align: bottom;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
address, em, code, cite, dfn, var, optgroup {
  font-style: normal;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
input, select {
    vertical-align: middle;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
.clear {
	font-size: 1px;
	height: 1px;
	clear: both;
}


/* module
------------------------------------------------- */
.alignCenter {text-align: center;}
.alignLeft {text-align: left;}
.alignRight {text-align: right;}
.valignTop {vertical-align: top;}
.valignMiddle {vertical-align: middle;}
.valignBottom {vertical-align: bottom;}

.regular { font-weight: 400; }
.semibold { font-weight: 600; }
.bold { font-weight: 700; }

.pcon { display: block; }
.spon { display: none; }
@media only screen and (max-width:750px){
.pcon { display: none; }
.spon { display: block; }
}


/* a
------------------------------------------------- */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
	text-decoration: none;
	outline: none;
    color: #2A4467;
    transition: 0.35s;
}
@media only screen and (min-width:751px){
a:hover {
	text-decoration: underline;
}
.al:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	text-decoration: none;
}
.telLink {
	pointer-events: none;
}
}


/* font
------------------------------------------------- */
@media only screen and (min-width:751px){
.fo12 { font-size: 12px; }
.fo13 { font-size: 13px; }
.fo14 { font-size: 14px; }
.fo15 { font-size: 15px; }
.fo16 { font-size: 16px; }
.fo18 { font-size: 18px; }
.fo20 { font-size: 20px; }
.fo22 { font-size: 22px; }
.fo24 { font-size: 24px; }
.fo25 { font-size: 25px; }
.fo28 { font-size: 28px; }
.fo30 { font-size: 30px; }
.fo32 { font-size: 32px; }
.fo40 { font-size: 40px; }
.fo48 { font-size: 48px; }
.fo50 { font-size: 50px; }
.fo80 { font-size: 80px; }
.fo100 { font-size: 100px; }
}
@media only screen and (min-width:751px) and (max-width:1300px){
.fo12 { font-size: 0.923vw; }
.fo14 { font-size: 1.0769vw; }
.fo15 { font-size: 1.1538vw; }
.fo16 { font-size: 1.2307vw; }
.fo18 { font-size: 1.3846vw; }
.fo20 { font-size: 1.5384vw; }
.fo22 { font-size: 1.6923vw; }
.fo24 { font-size: 1.8461vw; }
.fo25 { font-size: 1.923vw; }
.fo28 { font-size: 2.1538vw; }
.fo30 { font-size: 2.3076vw; }
.fo32 { font-size: 2.4615vw; }
.fo40 { font-size: 3.0769vw; }
.fo48 { font-size: 3.6923vw; }
.fo50 { font-size: 3.8461vw; }
.fo80 { font-size: 6.1538vw; }
.fo100 { font-size: 7.6923vw; }
}


/* html
------------------------------------------------- */
html {
	font-size: 16px;
	overflow-x: hidden;
}
@media only screen and (min-width:751px) and (max-width:1300px){
html {
	font-size: 1.2307vw;
}
}
@media only screen and (max-width:750px){
body {
	font-size: 4vw;
}
}


/* body
------------------------------------------------- */
body {
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 16px;
    font-weight: 400;
	line-height: 1.8;
	font-style: normal;
	color: #2A4467;
	-webkit-text-size-adjust: 100%;
	background-color: #F9F9F9;
    overflow-x: hidden;
}
.eng {
    font-family: "Sofia Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
@media only screen and (min-width:751px) and (max-width:1300px){
body {
	font-size: 1.2307vw;
}
}
@media only screen and (max-width:750px){
body {
	font-size: 4vw;
}
body.active {
    overflow-y: hidden;
}
}


/* wrapper
------------------------------------------------- */
#wrapper {
	width: 100%;
	margin: 0 auto;
	clear: both;
    position: relative;
}


/* header
------------------------------------------------- */
#header {
    width: 100%;
	height: 5em;
	background-color: #fff;
	position: fixed;
	left: 0;
	top: 0;
	box-shadow: 0 0 0.125em 0 rgba(0,0,0,0.16);
	z-index: 99;
	transition: 0.35s;
}
#header .logo {
	width: 9em;
	position: absolute;
	left: 2em;
	top: 1.375em;
}
#header .logo a {
	display: block;
}
#header .gnav {
	width: 43em;
	margin: 0 auto;
}
#header .gnav li {
	width: 10.75rem;
	height: 5rem;
}
#header .gnav li a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 500;
	color: #707070;
	text-decoration: none;
	padding-bottom: 0.5rem;
	box-sizing: border-box;
	position: relative;
}
#header .gnav li a::after {
	content: '';
	width: 100%;
	height: 0;
	background-color: #2392F9;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: 0.35s;
}
#header .gnav li a span {
	width: 1rem;
	height: 1rem;
	position: absolute;
	left: 50%;
	top: 3rem;
	margin-left: -0.5rem;
	overflow: hidden;
}
#header .gnav li a span::before {
	content: '';
	width: 1rem;
	height: 2rem;
	background: url("../img/gnav.svg") center bottom no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: 0.35s;
}
#header .gnav li.current a {
	color: #2A4467;
	padding: 0.15rem 0 0;
}
#header .gnav li.current a span::before {
	display: none;
}
#header .gnav li.current a::after {
	height: 0.25rem;
}
#header .gnav li:first-child,
#header .gnav li:last-child {
	display: none !important;
}
#header .cnav {
	width: 8rem;
	height: 5rem;
	position: absolute;
	right: 0;
	top: 0;
}
#header .cnav a {
	width: 100%;
	height: 100%;
	background-color: #2392F9;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	padding-top: 0.15em;
	box-sizing: border-box;
}
@media only screen and (min-width:751px){
#header .logo a:hover {
	transform: scale(1.1);
}
#header .gnav li a:hover {
	color: #2392F9;
}
#header .gnav li.current a:hover {
	color: #2A4467;
}
#header .gnav li a:hover span::before {
	bottom: -1rem;
}
#header .cnav a:hover {
	background-color: #2A4467;
	color: #fff;
}
}
@media only screen and (max-width:750px){
#header {
	height: 19.2vw;
	background-color: rgba(255,255,255,0);
	box-shadow: 0 0 0 0 rgba(0,0,0,0);
	position: absolute;
}
#header .logo {
	width: 32.58vw;
	left: 5.33vw;
	top: 5.33vw;
}
#header .gnav {
	display: none;
}
#header .gnav {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
	border-top: 1px solid #2392F9;
}
#header .gnav ul {
	display: flex;
	justify-content: space-between;
}
#header .gnav li {
	width: 25%;
	height: 19.2vw;
}
#header .gnav li a {
	font-size: 3.466vw;
	background-color: #fff;
	line-height: 1.23;
	color: #2A4467;
	border-right: 1px solid #2392F9;
	padding-bottom: 3vw;
}
#header .gnav li:nth-child(5) a {
	border-right: none;
}
#header .gnav li a::after {
	bottom: auto;
	top: 0;
}
#header .gnav li a span {
	width: 5vw;
	height: 5vw;
	top: 12.8vw;
	margin-left: -2.5vw;
}
#header .gnav li a span::before {
	width: 5vw;
	height: 10vw;
}
#header .gnav li.current a {
	color: #2392F9;
	padding: 4px 0 0;
}
#header .gnav li.current a::after {
	height: 4px;
}
#header .gnav li:first-child,
#header .gnav li:last-child {
	display: none !important;
}
#header .cnav {
	width: 27.733vw;
	height: 14.933vw;
	position: fixed;
	right: 2.133vw;
	top: 2.133vw;
	z-index: 99;
}
#header .cnav a {
	font-size: 3.466vw;
	border-radius: 3.2vw;
}
}


/* gnav float
------------------------------------------------- */
@media only screen and (min-width:751px){
.gnav.float {
	display: none;
}
}
@media only screen and (max-width:750px){
.gnav.float {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
	border-top: 1px solid #2392F9;
	z-index: 90;
}
.gnav.float ul {
	display: flex;
	justify-content: space-between;
}
.gnav.float li {
	width: 25%;
	height: 19.2vw;
}
.gnav.float li a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
	font-size: 3.466vw;
	background-color: #fff;
	line-height: 1.23;
	color: #2A4467;
	border-right: 1px solid #2392F9;
	padding-bottom: 3vw;
}
.gnav.float li:nth-child(5) a {
	border-right: none;
}
.gnav.float li a::after {
	content: '';
	width: 100%;
	height: 0;
	background-color: #2392F9;
	position: absolute;
	left: 0;
	top: 0;
	transition: 0.35s;
}
.gnav.float li a span {
	width: 5vw;
	height: 5vw;
	position: absolute;
	left: 50%;
	top: 12.8vw;
	margin-left: -2.5vw;
	overflow: hidden;
}
.gnav.float li a span::before {
	content: '';
	width: 5vw;
	height: 10vw;
	background: url("../img/gnav.svg") center bottom no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: 0.35s;
}
.gnav.float li.current a {
	color: #2392F9;
	padding: 0.5px 0 0;
}
.gnav.float li.current a::after {
	height: 4px;
}
.gnav.float li:first-child,
.gnav.float li:last-child {
	display: none !important;
}
}


/* contents
------------------------------------------------- */
#contents {
    display: block;
	width: 100%;
	clear: both;
}
.inner {
	max-width: 1300px;
	margin: 0 auto;
    padding: 0 10.625em;
	clear: both;
	position: relative;
    box-sizing: border-box;
}
.inner.w1 {
    padding: 0;
}
.inner.w2 {
    padding: 0 7.625em;
}
@media only screen and (max-width:750px){
#contents {
    padding-top: 0;
}
.inner,
.inner.w1,
.inner.w2 {
	width: 89.6%;
    padding: 0;
}
}


/* layout
------------------------------------------------- */
.d-flex {
    display: flex;
}
.f-wrap {
    flex-wrap: wrap;
}
.f-rev {
    flex-direction: row-reverse;
}
.just-center {
    justify-content: center;
}
.just-between {
    justify-content: space-between;
}
.just-end {
    justify-content: flex-end;
}
.align-center {
    align-items: center;
}
.align-end {
    align-items: flex-end;
}
@media only screen and (max-width:750px){
.d-flex {
    display: block;
}
}


/* headline
------------------------------------------------- */
.headline1 {
    text-align: center;
    font-weight: 500;
	color: #2A4467;
	line-height: 1.6;
	padding: 1.4em 0 1.6em;
	margin-bottom: 3em;
	background: url("../../img/title1.svg") center top no-repeat;
	background-size: auto 4.266em;
	position: relative;
}
.headline1 span {
    font-weight: 500;
	color: #2392F9;
}
.headline1 i {
    font-weight: 400;
}
.headline1::before {
    content: '';
    width: 2px;
	height: 0;
    background-color: #2392F9;
	border-radius: 5px;
    position: absolute;
    left: 50%;
    margin-left: -1px;
    top: 3.2em;
	transition: 0.7s;
}
.headline1.isAnimate::before {
	height: 2.133em;
}
@media only screen and (max-width:750px){ 
.headline1 {
	font-size: 5.33vw;
	padding: 1.75em 0;
	margin-bottom: 13.5vw;
	background-size: auto 5em;
}
.headline1::before {
    top: 20vw;
}
.headline1.isAnimate::before {
	height: 12.8vw;
}
}


/* btnst
------------------------------------------------- */
.btnst1 a {
    display: flex;
	align-items: center;
    width: 14.8em;
    height: 3.2em;
    background-color: #B2C0D4;
    border-radius: 3em;
	color: #fff;
	font-weight: 600;
    box-sizing: border-box;
	text-decoration: none;
    cursor: pointer;
    padding: 0.15em 0 0 2em;
	margin: 0 auto;
    position: relative;
}
.btnst1 a span {
	width: 1.5rem;
	height: 1.5rem;
	position: absolute;
	right: 1.4em;
	top: 50%;
	margin-top: -0.75rem;
	overflow: hidden;
}
.btnst1 a span::before {
	content: '';
	width: 1.5rem;
	height: 3rem;
	background: url("../img/btnst1.svg") center bottom no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: 0.35s;
}
.btnst1.btnst2 a span::before {
	width: 3rem;
	height: 1.5rem;
	background: url("../img/btnst2.svg") right center no-repeat;
	background-size: auto 100%;
	left: auto;
	right: 0;
}
@media only screen and (min-width:751px){
.btnst1 a:hover {
    background-color: #2392F9;
}
.btnst1 a:hover span::before {
	bottom: -1.5rem;
}
.btnst1.btnst2 a:hover span::before {
	right: -1.5rem;
	bottom: 0;
}
}
@media only screen and (max-width:750px){ 
.btnst1 a {
	font-size: 5.33vw;
    width: 76.8vw;
    height: 17vw;
	background-color: #2392F9;;
}
.btnst1 a span {
	width: 2rem;
	height: 2rem;
	right: 6.4vw;
	margin-top: -1rem;
}
.btnst1 a span::before {
	width: 2rem;
	height: 4rem;
}
.btnst1.btnst2 a span::before {
	width: 4rem;
	height: 2rem;
}
}


/* footer
------------------------------------------------- */
#footer {
    background-color: #fff;
    border-top: 1px solid #B2C0D4;
    text-align: center;
    position: relative;
    z-index: 2;
}
#footer .fnav {
    width: 100%;
	height: 9.375em;
	border-bottom: 1px solid #B2C0D4;
	display: flex;
	justify-content: center;
	align-items: center;
}
#footer .fnav ul li {
	font-weight: 500;
	line-height: 1.2;
	border-right: 1px solid #B2C0D4;
	padding: 0 1.5em;
}
#footer .fnav ul li:last-child {
	border-right: none;
}
#footer .fnav ul li a {
	text-decoration: none;
}
#footer .foot1 {
	height: 14em;
	position: relative;
}
#footer .foot1 .con {
	width: 50%;
	height: 100%;
}
#footer .foot1 .con:first-child {
	border-right: 1px solid #B2C0D4;
}
#footer .foot1 .con a {
	width: 100%;
	height: 100%;
	background-color: #B2C0D4;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	position: relative;
}
#footer .foot1 .con a::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: 1;
	transition: 0.35s;
}
#footer .foot1 .con a h4 {
	font-weight: 500;
	color: #2A4467;
	position: relative;
	z-index: 2;
}
#footer .foot1 .con a h4 img {
	display: block;
	width: 9.45em;
	margin: 0 auto 0.7em;
}
#footer .foot1 .con a .icon {
	width: 3em;
	height: 3em;
	background-color: #B2C0D4;
	border-radius: 50%;
	position: absolute;
	right: 2em;
	bottom: 2em;
	z-index: 2;
	transition: 0.35s;
}
#footer .foot1 .con a .icon span {
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	left: 0.75em;
	top: 0.75em;
	overflow: hidden;
}
#footer .foot1 .con a .icon span::before {
	content: '';
	width: 1.5em;
	height: 3em;
	background: url("../img/fnav.svg") center bottom no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	transition: 0.35s;
}
#footer .foot1 .con a .icon.blank {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_40905%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2040905%22%20transform%3D%22translate(-2117.284%20-1722.46)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19241%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019241%22%20d%3D%22M2131.284%2C1734.55v-3.929a.731.731%2C0%2C0%2C0-1.461%2C0v3.929a.448.448%2C0%2C0%2C1-.448.448h-10.181a.448.448%2C0%2C0%2C1-.448-.448v-10.181a.449.449%2C0%2C0%2C1%2C.448-.448h3.929a.731.731%2C0%2C0%2C0%2C0-1.462h-3.929a1.912%2C1.912%2C0%2C0%2C0-1.909%2C1.909v10.181a1.911%2C1.911%2C0%2C0%2C0%2C1.909%2C1.909h10.181A1.911%2C1.911%2C0%2C0%2C0%2C2131.284%2C1734.55Z%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19242%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019242%22%20d%3D%22M2223.774%2C1723.191a.726.726%2C0%2C0%2C0-.014-.143c0-.021-.012-.04-.017-.06s-.014-.052-.024-.077-.023-.044-.035-.067-.02-.04-.032-.059a.721.721%2C0%2C0%2C0-.083-.1l-.008-.009-.009-.008a.757.757%2C0%2C0%2C0-.1-.083c-.018-.012-.038-.021-.057-.031a.709.709%2C0%2C0%2C0-.069-.036.738.738%2C0%2C0%2C0-.072-.023c-.021-.006-.042-.015-.064-.019a.741.741%2C0%2C0%2C0-.134-.014h-3.34a.731.731%2C0%2C1%2C0%2C0%2C1.462h1.566l-5.214%2C5.215a.731.731%2C0%2C0%2C0%2C1.033%2C1.033l5.215-5.215v1.567a.731.731%2C0%2C1%2C0%2C1.461%2C0Z%22%20transform%3D%22translate(-92.49%200)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 0.875em auto;
}
#footer .foot2 {
	border-top: 1px solid #B2C0D4;
	padding: 6em 0;
}
#footer .foot2 .flogo a {
	display: block;
	text-decoration: none;
}
#footer .foot2 .flogo a img.pcon {
	display: block;
	width: 7em;
	margin: 0 auto 1em;
}
#footer .foot2 .flogo a img.spon {
	display: none;
}
#footer .foot2 .flogo a span {
	font-weight: 500;
	color: #2A4467;
	padding-right: 1.125em;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_38975%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2038975%22%20transform%3D%22translate(-2117.284%20-1722.46)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19241%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019241%22%20d%3D%22M2131.284%2C1734.55v-3.929a.731.731%2C0%2C0%2C0-1.461%2C0v3.929a.448.448%2C0%2C0%2C1-.448.448h-10.181a.448.448%2C0%2C0%2C1-.448-.448v-10.181a.449.449%2C0%2C0%2C1%2C.448-.448h3.929a.731.731%2C0%2C0%2C0%2C0-1.462h-3.929a1.912%2C1.912%2C0%2C0%2C0-1.909%2C1.909v10.181a1.911%2C1.911%2C0%2C0%2C0%2C1.909%2C1.909h10.181A1.911%2C1.911%2C0%2C0%2C0%2C2131.284%2C1734.55Z%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%232392f9%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19242%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019242%22%20d%3D%22M2223.774%2C1723.191a.726.726%2C0%2C0%2C0-.014-.143c0-.021-.012-.04-.017-.06s-.014-.052-.024-.077-.023-.044-.035-.067-.02-.04-.032-.059a.721.721%2C0%2C0%2C0-.083-.1l-.008-.009-.009-.008a.757.757%2C0%2C0%2C0-.1-.083c-.018-.012-.038-.021-.057-.031a.709.709%2C0%2C0%2C0-.069-.036.738.738%2C0%2C0%2C0-.072-.023c-.021-.006-.042-.015-.064-.019a.741.741%2C0%2C0%2C0-.134-.014h-3.34a.731.731%2C0%2C1%2C0%2C0%2C1.462h1.566l-5.214%2C5.215a.731.731%2C0%2C0%2C0%2C1.033%2C1.033l5.215-5.215v1.567a.731.731%2C0%2C1%2C0%2C1.461%2C0Z%22%20transform%3D%22translate(-92.49%200)%22%20fill%3D%22%232392f9%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') right center no-repeat;
	background-size: 0.93em auto;
	transition: 0.35s;
}
#footer small {
    display: block;
    color: #2A4467;
    font-weight: 400;
	padding-top: 2em;
}
@media only screen and (min-width:751px){
#footer .fnav ul li a:hover {
    color: #2392F9;
}
#footer .foot1 .con a:hover::before {
	width: 95.55%;
	height: 85.72%;
	border-radius: 1em;
}
#footer .foot1 .con a:hover .icon {
	background-color: #2392F9;
}
#footer .foot1 .con a:hover .icon span::before {
	top: -1.5em;
}
#footer .foot2 .flogo a:hover span {
	color: #2392F9;
}
}
@media only screen and (max-width:750px){
#footer .fnav {
	height: 68vw;
	justify-content: flex-start;
	text-align: left;
	padding: 0 12vw;
}
#footer .fnav ul li {
	border-right: none;
	padding: 0;
	margin: 6.4vw 0;
}
#footer .fnav ul li:last-child {
	border-right: none;
}
#footer .fnav ul li a {
	text-decoration: none;
}
#footer .foot1 {
	height: 58.66vw;
	display: flex;
}
#footer .foot1 .con a h4 {
	line-height: 1.4;
	padding-bottom: 14vw;
}
#footer .foot1 .con a h4 img {
	width: 35.2vw;
	margin: 0 auto 5vw;
}
#footer .foot1 .con a .icon {
	right: 50%;
	bottom: 6.4vw;
	margin-right: -1.5em;
}
#footer .foot2 {
	padding: 12vw;
	text-align: left;
}
#footer .foot2 .flogo a img.pcon {
	display: none;
}
#footer .foot2 .flogo a img.spon {
	display: block;
	width: 52.5vw;
	margin: 0 0 4vw;
}
#footer small {
	font-size: 3.2vw;
	padding-top: 2.5em;
}
}


/* idPad
------------------------------------------------- */
.idPad {
    padding-top: 7em;
    margin-top: -7em;
}
@media only screen and (max-width:750px){
.idPad {
    padding-top: 20vw;
    margin-top: -20vw;
}
}


/* animation
------------------------------------------------- */
.fadein {
    opacity: 0;
}
.fadein.isAnimate {
    animation: fadeIn 0.7s ease 0.1s 1 forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}