@charset "utf-8";
/* Copyright 2022 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

パソコン、タブレット、スマートフォン（iPhone,Android) 共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

basic

------------------------------------------------------------ */

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 500;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
	font-display: swap;
}

*{font-family:'Noto Sans JP', Yu Gothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}

@media (-ms-high-contrast: none) {
	*{font-family:'Noto Sans JP', Yu Gothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
}

html{
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body{
	color:#1F323D;
	font-weight: 400;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
}

#wrap_all{position: relative;}


/* ------------------------------------------------------------

shortcodes

------------------------------------------------------------ */

/* font
---------------------------------------------- */
.normal{font-weight: normal !important;}
.bold{font-weight: bold !important;}
.italic{font-style: italic !important;}

/* display
---------------------------------------------- */
.none{display: none !important;}

/* margin
---------------------------------------------- */
.mb_none{margin-bottom: 0 !important;}

/* 改行
---------------------------------------------- */
br.tab,br.sp{display: none;}


/* ------------------------------------------------------------

common

------------------------------------------------------------ */

/*--404ページ--*/	
.wrap_404{
	text-align: center;
	padding-top: 100px;
	margin-bottom: 200px;
}

.ttl_404{
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 12px;
}

.txt_404{margin-bottom: 30px;}

/* リンク
---------------------------------------------- */
.link01{
	color: #333;
	text-decoration: underline !important;
}

.link01:hover{text-decoration: none !important;}

.link_tel01{
	color: #333;
	pointer-events: none;
}

/* ------------------------------------------------------------

header

------------------------------------------------------------ */

#wrap_top{
	width: calc(100% - 340px);
	padding: 0;
	font-size: 1.1rem;
	line-height: 1.1;
	color: #20323D;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: none;
}

.wrap_top_inner .cloned{display: none;}	
.wrap_top_inner h1{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#header{
	padding: 0;
	position: relative;
	z-index: 1;
}

.header_inner{
	width: 100%;
	display:flex;
	justify-content: space-between;
	align-items: center;
}

.header_inner .col1{
	flex:none;
}
.header_inner .col2{
	display: flex;
}

.h_logo a{
	display: flex;
}
.h_logo a .logomark{
	flex:none;
	width: 130px;
}
.h_logo a .logomark img{width: 100%;}
.h_logo a .logotxt{
	color: #20323D;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	padding-top: 19px;
}
.h_logo a .logotxt .univ{
	display: block;
	font-size: 1.4rem;
}
.h_logo a .logotxt br{
	display: none;
}
.h_logo a .logotxt span:nth-child(2){margin-left: -0.05em;}
.h_logo a .logotxt span:nth-child(3){margin-left: -0.09em;}
.h_logo a .logotxt span:nth-child(4){margin-left: -0.03em;}
.h_logo a .logotxt span:nth-child(5){margin-left: 0.03em;}
.h_logo a .logotxt span:nth-child(6){margin-left: -0.07em;}
.h_logo a .logotxt span:nth-child(7){margin-left: 0.03em;}
.h_logo a .logotxt span:nth-child(8){margin-left: -0.01em;}
.h_logo a .logotxt span:nth-child(9){margin-left: -0.1em;}
.h_logo a .logotxt span:nth-child(10){margin-left: -0.07em;}
.h_logo a .logotxt span:nth-child(11){margin-left: -0.2em;}
.h_logo a .logotxt span:nth-child(12){margin-left: -0.2em;}
.h_logo a .logotxt span:nth-child(13){margin-left: -0.21em;}
.h_logo a .logotxt span:nth-child(14){margin-left: -0.07em;}
.h_logo a .logotxt span:nth-child(15){margin-left: 0.02em;}
.h_logo a .logotxt span:nth-child(16){margin-left: -0.03em;}
.h_logo a .logotxt span:nth-child(17){margin-left: -0.06em;}
.h_logo a .logotxt span:nth-child(18){margin-left: -0.03em;}
.h_logo a .logotxt span:nth-child(19){margin-left: -0.01em;}
.h_logo a .logotxt span:nth-child(20){margin-left: 0.03em;}
.h_logo a .logotxt span:nth-child(21){margin-left: -0.07em;}
.h_logo a .logotxt span:nth-child(22){margin-left: -0.05em;}


/* グローバルナビ
---------------------------------------------- */
.nav_global{
	background: #EC8A00;
	position: relative;
}
.nav_global>ul{
	display: flex;
	padding: 0 20px;
}
.nav_global>ul>li{
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
	position: relative;
}
.nav_global>ul>li>a{
	color: #FFF;
	display: block;
	padding: 55.21px 20px;
}
.nav_global>ul>li>a:hover{
	color: #FFF97D;
}

.nav_global>ul>li::before{
	content: "";
    display: none;
    width: 40px;
    height: 5px;
    background: #FEC900;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -20px;
    pointer-events: none;
}

.nav_global .sub{
	position: absolute;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    font-weight: normal;
}
.nav_global .show .sub{
	pointer-events: auto;
}
.nav_global .sub ul::before{
	content: "";
	display: block;
	width: 12px;
	height: 8px;
	background: #20323d;
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	position: absolute;
	top: -7px;
	left: 50%;
	margin-left: -6px
}
.nav_global .sub ul{
	transition:transform .25s, opacity .25s;
	transform: translate3d(0,10px,0);
	opacity: 0;
}
.nav_global .parent.show .sub ul{
	transform: translate3d(0,0,0);
	opacity: 1;
}
.nav_global .sub ul li{
	border-bottom: 1px solid #354A56;
}
.nav_global .sub ul li a{
	white-space: nowrap;
    font-size: 1.4rem;
    color: #D2D6D8;
    background: #20323d;
    padding: 11px 13px;
    display: block;
    line-height: 1.3;
}
.nav_global .sub ul li a:hover{
	color: #FFF;
}

.nav_global .lang{
	position: absolute;
	top: 6px;
	right: 12px;
}
.nav_global .lang a{
	font-family: 'Roboto', sans-serif;
	font-size: 1.2rem;
	color: #FFF;
	display: block;
}
.nav_global .lang a:hover{
	color: #FFF97D;
}

.header_inner .col2 .bnr{
	display: flex;
	align-items: center;
	padding: 0 33px;
	background: url(../img/bg_bnr.jpg) no-repeat center;
	background-size: cover;
	position: relative;
}
.header_inner .col2 .bnr::before{
	content: "";
    display: block;
    width: 200px;
    height: 63px;
    background: #005372;
    position: absolute;
    top: 38px;
    left: 38px;
    mix-blend-mode: multiply;
    opacity: .5;
    filter: blur(5px);
}
.header_inner .col2 .bnr a:hover{
	filter: brightness(1.06);
}
.header_inner .col2 .bnr img{
	width: 200px;
	position: relative;
}


/* ------------------------------------------------------------

footer

------------------------------------------------------------ */

#footer .pagetop{display: none;}
#footer .links{
	background: #EC8A00;
	padding: 144px 0;
}
#footer .links ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#footer .links ul li{
	font-size: 1.6rem;
	padding: 0 20px;
}
#footer .links ul li a{
	color: #FFF;
	position: relative;
	padding-right: 19px;
}
#footer .links ul li a::after{
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background: url(../img/ico_external.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 5px;
	right: 0;
}
#footer .links ul li a:hover{color: #FFF97D;}
#footer .bnr{display: none;}

.footer_btm{
	padding: 84px 8.333% 30px;
	position: relative;
	overflow: hidden;
}
.footer_btm .block1{
	display: flex;
	justify-content: space-between;
	margin-bottom: 117px;
	position: relative;
	z-index: 1;
}
.footer_btm .block1 .col1{
	flex:none;
	padding-right: 60px;
}
.footer_btm .block1 .col2{
	flex:1;
	display: flex;
	justify-content: flex-end;
}
.footer_btm .block1 .col .address{
	font-size: 1.4rem;
	font-weight: bold;
	color: #1F323D;
	line-height: 1.8;
}
.footer_btm .block1 .col .address p{
	margin-bottom: 12px;
}
.footer_btm .block1 .col .address .email{
	position: relative;
	font-weight: normal;
	padding-left: 33px;
	margin-bottom: 0;
}
.footer_btm .block1 .col .address .email::before{
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	border-radius: 26px;
	background:#C6CCD0 url(../img/ico_email.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
}
.footer_btm .block1 .col .address .email span::before{
	content: "@";
}

.nav_footer{
	font-size: 1.4rem;
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
.nav_footer>ul{
	display: flex;
	width: 100%;
	justify-content: space-between;
	max-width: 716px;
}
.nav_footer>ul>li{
	font-weight: bold;
}
.nav_footer>ul>li:last-child{
}
.nav_footer>ul>li>a{
	color: #1F323D;
	display: block;
	margin-bottom: 7px;
}
.nav_footer>ul>li>a:hover{
	color: #ff9500;
}

.nav_footer>ul>li>ul>li{
	font-weight: normal;
	padding: 10px 0 10px 20px;
	position: relative;
	max-width: calc(15em + 20px);
	line-height: 1.4;
}
.nav_footer>ul>li>ul>li::before{
	content: "";
	display: block;
	width: 13px;
	height: 1px;
	background: #C0C5C8;
	position: absolute;
	top: 20px;
	left: 1px;
}
.nav_footer>ul>li>ul>li>a{
	color: #1F323D;
}
.nav_footer>ul>li>ul>li>a:hover{
	color: #ff9500;
}

.footer_btm .block2{
	text-align: right;
	color: #1F323D;
	line-height: 1;
	position: relative;
	z-index: 1;
}
.footer_btm .block2 .seo{
	font-size: 1.1rem;
	margin-bottom: 13px;
}
.footer_btm .block2 small{
	font-size: 1.1rem;
}

.footer_btm .mv_animation{
	position: absolute;
	top: unset;
	left: -8px;
    bottom: -23.75vw;
	width: 40vw;
	height: 40vw;
	margin-top: -21vw;
	transform: rotate(-45deg) skew(15deg, 15deg);
}

.footer_btm .mv_animation .shape{
	transform: translate3d(0,0,0);
}
.footer_btm .mv_animation .shape.type2{
	transform: skewX(-45deg) translate3d(0,0,0);
}
.footer_btm .mv_animation .shape.type3{
	transform: skewY(-45deg) translate3d(0,0,0);
}
.wrap_shape{
	position: relative;
	height: 100%;
}
.wrap_shape .shape{
	width: calc(100% / 11);
	padding-top: calc(100% / 11);
	background: #70BDCD;
	position: absolute;

}
.shape.type2{
	transform: skewX(-45deg);
	transform-origin: left top;
}
.shape.type3{
	transform: skewY(-45deg);
	transform-origin: left top;
}

.wrap_shape .shape1{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 0);
	background: #DA5274;
	transform: translate3d(600%,0,0);
}
.wrap_shape .shape2{
	left: calc(100% / 11 * 9);
	top: calc(100% / 11 * 0);
	background: #4CAD90;
	transform: translate3d(0,-600%,0);
}
.wrap_shape .shape3{
	left: calc(100% / 11 * 4);
	top: calc(100% / 11 * 1);
	background: #F4CB3F;
	transform: translate3d(-1500%,0,0);
}
.wrap_shape .shape4{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 1);
	background: #338E99;
	transform: translate3d(0,-1900%,0);
}
.wrap_shape .shape5{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 1);
	background: #07476C;
	transform: translate3d(0,600%,0);
}
.wrap_shape .shape6{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 2);
	background: #634D7C;
	transform: translate3d(-1200%,0,0);
}
.wrap_shape .shape7{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 2);
	background: #F2C5C2;
	transform: translate3d(0,1000%,0);
}
.wrap_shape .shape8{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 2);
	background: #983669;
	transform: translate3d(0,-900%,0);
}
.wrap_shape .shape9{
	left: calc(100% / 11 * 8);
	top: calc(100% / 11 * 2);
	background: #EDA837;
	transform: translate3d(0,600%,0);
}
.wrap_shape .shape10{
	left: calc(100% / 11 * 9);
	top: calc(100% / 11 * 2);
	background: #F2C5C2;
	transform: translate3d(900%,0,0);
}
.wrap_shape .shape11{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 3);
	background: #70BDCD;
	z-index: 1;
	transform: translate3d(-900%,0,0);
}
.wrap_shape .shape12{
	left: calc(100% / 11 * 4);
	top: calc(100% / 11 * 4);
	background: #4D4D4D;
	transform: translate3d(0,-1200%,0);
}
.wrap_shape .shape13{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 4);
	background: #07476C;
	transform: translate3d(600%,0,0);
}
.wrap_shape .shape14{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 4);
	background: #4D4D4D;
	transform: translate3d(0,-600%,0);
}
.wrap_shape .shape15{
	left: calc(100% / 11 * 8);
	top: calc(100% / 11 * 4);
	background: #DC5535;
	transform: translate3d(1200%,0,0);
}
.wrap_shape .shape16{
	left: calc(100% / 11 * 3);
	top: calc(100% / 11 * 5);
	background: #DC5535;
	z-index: 1;
	transform: translate3d(-1200%,0,0);
}
.wrap_shape .shape17{
	left: calc(100% / 11 * 4);
	top: calc(100% / 11 * 5);
	background: #EDA837;
	transform: translate3d(0,600%,0);
}
.wrap_shape .shape18{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 5);
	background: #DA5274;
	z-index: 1;
	transform: translate3d(-800%,0,0);
}
.wrap_shape .shape19{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 5);
	background: #92C6B1;
	transform: translate3d(900%,0,0);
}
.wrap_shape .shape20{
	left: calc(100% / 11 * 10);
	top: calc(100% / 11 * 5);
	background: #F4CB3F;
	transform: translate3d(1500%,0,0);
}
.wrap_shape .shape21{
	left: calc(100% / 11 * 0);
	top: calc(100% / 11 * 6);
	background: #70BDCD;
	transform: translate3d(-1900%,0,0);
}
.wrap_shape .shape22{
	left: calc(100% / 11 * 1);
	top: calc(100% / 11 * 6);
	background: #07476C;
	transform: translate3d(0,600%,0);
}
.wrap_shape .shape23{
	left: calc(100% / 11 * 3);
	top: calc(100% / 11 * 6);
	background: #983669;
	transform: translate3d(0,900%,0);
}
.wrap_shape .shape24{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 6);
	background: #634D7C;
	transform: translate3d(-600%,0,0);
}
.wrap_shape .shape25{
	left: calc(100% / 11 * 8);
	top: calc(100% / 11 * 6);
	background: #70BDCD;
	transform: translate3d(0,600%,0);
}
.wrap_shape .shape26{
	left: calc(100% / 11 * 4);
	top: calc(100% / 11 * 7);
	background: #4CAD90;
	transform: translate3d(0,-600%,0);
}
.wrap_shape .shape27{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 7);
	background: #DA5274;
	transform: translate3d(0,-400%,0);
}
.wrap_shape .shape28{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 7);
	background: #338E99;
	z-index: 1;
	transform: translate3d(0,1200%,0);
}
.wrap_shape .shape29{
	left: calc(100% / 11 * 4);
	top: calc(100% / 11 * 8);
	background: #338E99;
	z-index: 1;
	transform: translate3d(0,1200%,0);
}
.wrap_shape .shape30{
	left: calc(100% / 11 * 1);
	top: calc(100% / 11 * 9);
	background: #634D7C;
	transform: translate3d(-1500%,0,0);
}
.wrap_shape .shape31{
	left: calc(100% / 11 * 2);
	top: calc(100% / 11 * 9);
	background: #DC5535;
	transform: translate3d(-800%,0,0);
}
.wrap_shape .shape32{
	left: calc(100% / 11 * 4);
	top: calc(100% / 11 * 10);
	background: #4D4D4D;
	transform: translate3d(0,1900%,0);
}
.wrap_shape .shape33{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 1);
	background: #4CAD90;
	transform: skewY(-45deg) translate3d(0,-1200%,0);
}
.wrap_shape .shape34{
	left: calc(100% / 11 * 3);
	top: calc(100% / 11 * 3);
	background: #92C6B1;
	transform: skewY(-45deg) translate3d(0,-1900%,0);
}
.wrap_shape .shape35{
	left: calc(100% / 11 * 1);
	top: calc(100% / 11 * 4);
	background: #EDA837;
	transform: skewY(-45deg) translate3d(0,-800%,0);
}
.wrap_shape .shape36{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 4);
	background: #4CAD90;
	transform: skewY(-45deg) translate3d(0,-800%,0);
}
.wrap_shape .shape37{
	left: calc(100% / 11 * 3);
	top: calc(100% / 11 * 5);
	background: #338E99;
	transform: skewY(-45deg) translate3d(0,-1500%,0);
}
.wrap_shape .shape38{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 5);
	background: #338E99;
	transform: skewY(-45deg) translate3d(0,1500%,0);
}
.wrap_shape .shape39{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 6);
	background: #92C6B1;
	transform: skewY(-45deg) translate3d(0,900%,0);
}
.wrap_shape .shape40{
	left: calc(100% / 11 * 2);
	top: calc(100% / 11 * 7);
	background: #634D7C;
	transform: skewY(-45deg) translate3d(0,1500%,0);
}
.wrap_shape .shape41{
	left: calc(100% / 11 * 3);
	top: calc(100% / 11 * 8);
	background: #F2C5C2;
	transform: skewY(-45deg) translate3d(0,1900%,0);
}
.wrap_shape .shape42{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 8);
	background: #92C6B1;
	transform: skewY(-45deg) translate3d(0,1900%,0);
}
.wrap_shape .shape43{
	left: calc(100% / 11 * 8);
	top: calc(100% / 11 * 1);
	background: #70BDCD;
	transform: skewX(-45deg) translate3d(1200%,0,0);
}
.wrap_shape .shape44{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 3);
	background: #70BDCD;
	transform: skewX(-45deg) translate3d(-1900%,0,0);
}
.wrap_shape .shape45{
	left: calc(100% / 11 * 8);
	top: calc(100% / 11 * 3);
	background: #634D7C;
	transform: skewX(-45deg) translate3d(900%,0,0);
}
.wrap_shape .shape46{
	left: calc(100% / 11 * 11);
	top: calc(100% / 11 * 3);
	background: #07476C;
	transform: skewX(-45deg) translate3d(1900%,0,0);
}
.wrap_shape .shape47{
	left: calc(100% / 11 * 7);
	top: calc(100% / 11 * 5);
	background: #F4CB3F;
	transform: skewX(-45deg) translate3d(-1200%,0,0);
}
.wrap_shape .shape48{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 6);
	background: #70BDCD;
	transform: skewX(-45deg) translate3d(1200%,0,0);
}
.wrap_shape .shape49{
	left: calc(100% / 11 * 3);
	top: calc(100% / 11 * 7);
	background: #70BDCD;
	transform: skewX(-45deg) translate3d(-1500%,0,0);
}
.wrap_shape .shape50{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 7);
	background: #07476C;
	transform: skewX(-45deg) translate3d(-900%,0,0);
}
.wrap_shape .shape51{
	left: calc(100% / 11 * 8);
	top: calc(100% / 11 * 7);
	background: #F2C5C2;
	transform: skewX(-45deg) translate3d(1900%,0,0);
}
.wrap_shape .shape52{
	left: calc(100% / 11 * 5);
	top: calc(100% / 11 * 8);
	background: #EDA837;
	transform: skewX(-45deg) translate3d(900%,0,0);
}
.wrap_shape .shape53{
	left: calc(100% / 11 * 2);
	top: calc(100% / 11 * 10);
	background: #983669;
	transform: skewX(-45deg) translate3d(1500%,0,0);
}
.wrap_shape .shape54{
	left: calc(100% / 11 * 6);
	top: calc(100% / 11 * 10);
	background: #F2C5C2;
	transform: skewX(-45deg) translate3d(1900%,0,0);
}


/* ページトップボタン
---------------------------------------------- */	
.btn_pagetop{
	width: 50px;
	height: 50px;
	background: #EC8A00;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 1;
	transition: transform .2s;
	transform: scale(0);
	cursor: pointer;
	overflow: hidden;
}
.btn_pagetop:hover{
	background: #FFA500;
}

.btn_pagetop::before,
.btn_pagetop::after{
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url(../img/arrow02..png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
}
.btn_pagetop::after{
	transform:translate3d(0,15px,0);
	opacity: 0;
}
.btn_pagetop:hover::before,
.btn_pagetop:hover::after{
	transition:transform .33s, opacity .33s;
}
.btn_pagetop:hover::before{
	display: none;
}
.btn_pagetop:hover::after{
	transform:translate3d(0,0,0);
	opacity: 1;
}

.btn_pagetop.show{
	transform: scale(1);
}

.nav_main_sp{display: none;}


/* 背景パーティクル
---------------------------------------------- */	
#particle{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

/* パンくず
---------------------------------------------- */	
.breadclumb nav ul{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.35;
}
.breadclumb nav ul li{
	font-size: 1.2rem;
	position: relative;
	padding-left: 1.25em;
	white-space: nowrap;
	display: inline;
}
.breadclumb nav ul li::before{
	content: "";
	display: block;
	width:5px;
	height:6px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #21323D;
	position: absolute;
	top: 0.5em;
    left: 0.33em;
}
.breadclumb nav ul li:first-child::before{
	display: none;
}

.breadclumb nav ul li a{
	color: #1F323D;
}
.breadclumb nav ul li a:hover{
	opacity: .6;
}

/* ページタイトル
---------------------------------------------- */
.pagetitle{
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	padding-top: 99px;
	margin-bottom: 192px;
}
.pagetitle span{
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 7rem;
	font-weight: 500;
	line-height: 1;
}

.pagetitle.type01{
	max-width: 1600px;
	margin: 0 auto 70px;
	padding-top: 28px;
}
.pagetitle.type01 .inner{
	padding: 80px 80px 0;
	position: relative;
}
.pagetitle.type01 .inner img{
	width: 100%;
}
.pagetitle.type01 .inner .wrap_text{
	position: absolute;
	top: 0;
	left: 0;
	color: #1F323D;
	line-height: 1;
	padding: 52px 60px 60px;
	background: #FFF;
	background: rgba(255,255,255,0.9);
	text-align: left;
}
.pagetitle.type01 .inner .wrap_text .en{
	font-family: 'Roboto';
	font-size: 7rem;
	font-weight: 500;
	margin-bottom: 8px;
}
.pagetitle.type01 .inner .wrap_text .jp{
	font-size: 2rem;
	font-weight: bold;
	font-family:'Noto Sans JP', Yu Gothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.subpages{
	padding: 150px 0 147px;
    background: rgba(0,0,0,0.04);
}
.subpages ul{
	display: flex;
	justify-content: center;
	padding: 0 2.083%;
	flex-wrap: wrap;
	margin-bottom: -36px;
}
.subpages ul li{
	width: 33.333%;
	padding: 0 2.083%;
	margin-bottom: 36px;
}
.subpages ul li a{
	display: block;
}
.subpages ul li a .thumbnail{
	margin-bottom: 13px;
	position: relative;
	overflow: hidden;
}

.subpages ul li a .thumbnail .frame.vertical::before,
.subpages ul li a .thumbnail .frame.vertical::after,
.subpages ul li a .thumbnail .frame.horizontal::before,
.subpages ul li a .thumbnail .frame.horizontal::after{
	content: "";
	display: inline-block;
	position: absolute;
	background: #FFA500;
	transition:width .33s, height .33s;
}


.subpages ul li a .thumbnail .frame.vertical::before{
	height: 0;
	width: 4px;
	left: 0;
	bottom: 0;
}
.subpages ul li a .thumbnail .frame.vertical::after{
	height: 0;
	width: 4px;
	right: 0;
	top: 0;
}
.subpages ul li a .thumbnail .frame.horizontal::before{
	height: 4px;
	width: 0;
	top: 0;
	left: 0;
}
.subpages ul li a .thumbnail .frame.horizontal::after{
	height: 4px;
	width: 0;
	bottom: 0;
	right: 0;
}

.subpages ul li a:hover .thumbnail .frame.vertical::before{
	height: 100%;
}
.subpages ul li a:hover .thumbnail .frame.vertical::after{
	height: 100%;
}
.subpages ul li a:hover .thumbnail .frame.horizontal::before{
	width: 100%;
}
.subpages ul li a:hover .thumbnail .frame.horizontal::after{
	width: 100%;
}

.subpages ul li a .thumbnail img{
	width: 100%;
	transition: transform 1s;
	transform: scale(1.0001);
}
.subpages ul li a:hover .thumbnail img{
	transform: scale(1.1);
}
.subpages ul li a .thumbnail .arrow{
	width: 40px;
	height: 40px;
	background: #EC8A00;
	position: absolute;
	left: 0;
	bottom: 0;
}
.subpages ul li a:hover .thumbnail .arrow{
	background: #FFA500;
}
.subpages ul li a .thumbnail .arrow::before,
.subpages ul li a .thumbnail .arrow::after{
	content: "";
	display: block;
	width: 10px;
	height: 16px;
	background: url(../img/arrow01_w.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -8px;
	margin-left: -4px;

}

.subpages ul li a:hover .thumbnail .arrow::before{
	opacity: 0;
	
}
.subpages ul li a .thumbnail .arrow::after{
	transform:translate3d(-15px,0,0);
	opacity: 0;
}
.subpages ul li a:hover .thumbnail .arrow::after{
	transition:transform .33s, opacity .33s;
	transform:translate3d(0,0,0);
	opacity: 1;
}


.subpages ul li a .label{
	font-size: 1.8rem;
	letter-spacing: .05em;
	font-weight: bold;
	color: #1F323D;
	line-height: 1.4;
}



@media print{ /* 印刷時のみ */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */
	
	/* レイアウト
	---------------------------------------------- */	
	#wrap_all{
		width: 1200px;
		transform: scale(0.8);
		transform-origin: 0 0;
	}
	
	
}/*--@media--*/






@media only screen and (max-width:1400px){
	.h_logo a .logotxt{
		padding-top:7px;
		font-size: 1.75rem;
	}
	.h_logo a .logotxt .univ{
		margin-bottom: 2px;
	}
	.h_logo a .logotxt br{
		display: block;
	}
	.h_logo a .logotxt span:nth-child(13){
		margin-left: 0;
	}
}

@media only screen and (max-width:1200px){
	body{
		-ms-overflow-style: none;
        scrollbar-width: none;
	}
    body::-webkit-scrollbar {
        display:none;
    }
	.header_inner .col1{
		height: 130px;
		display: flex;
		align-items: center;
	}
	.header_inner .col2{display: none;}

	.h_logo a .logotxt{
		font-size: 1.8rem;
		padding-top: 19px;
	}
	.h_logo a .logotxt br{display: none;}


	/* メニューボタン
	---------------------------------------------- */
	.btn_menu{
		position: fixed;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		background: #EC8A00;
		z-index: 1;
		cursor: pointer;
	}
	.btn_menu span,
	.btn_menu::before,
	.btn_menu::after{
		content: "";
		width: 30px;
		height: 2px;
		background: #FFF;
		position: absolute;
		top: 50%;
		left: 15px;
		margin-top: -1px;
	}
	.btn_menu::before{
		margin-top: -8px;
	}
	.btn_menu::after{
		margin-top: 6px;
	}
	#wrap_top{
		width: calc(100% - 60px);
	}

	/* メインナビ
	---------------------------------------------- */
	.nav_main_sp{
		width: 100%;
		height: 100vh;
		background: #1F323D;
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		z-index: 1;
		overflow-y: scroll;
		opacity: 0;
		pointer-events: none;
        -ms-overflow-style: none;
        scrollbar-width: none;
	}
    .nav_main_sp::-webkit-scrollbar {
        display:none;
    }
	.nav_main_sp.show{
		transition:opacity .25s;
		opacity: 1;
		pointer-events: auto;
	}

	.nav_main_sp .h_logo{padding-top: 25px;}

	.nav_main_sp .h_logo a .logotxt{color: #FFF;}

	.nav_main_sp nav{
		padding: 0 6.4vw;
	}
	.nav_main_sp nav>ul{
		display: block;
		padding: 44px 0 80px;
	}
	.nav_main_sp nav>ul>li{
		font-size: 1.6rem;
		border-bottom: 1px solid #2F4551;
		display: flex;
		align-items: flex-start;
		line-height: 1.4;
		padding: 15px 0;
	}
	.nav_main_sp nav>ul>li:last-child{
		border-bottom: none;
	}
	.nav_main_sp nav>ul>li>a{
		display: block;
		padding: 11px 0;
		margin: 0;
		flex:none;
		width: 11em;
		color: #FFF;
	}

	.nav_main_sp nav>ul>li>ul>li{
		padding: 0;
	}
	.nav_main_sp nav>ul>li>ul>li::before{
		display: none;
	}
	.nav_main_sp nav>ul>li>ul>li>a{
		display: block;
		padding: 11px 0;
		color: #97A7B0;
	}

	.btn_navmain_close{
		width: 60px;
		height: 60px;
		background: #EC8A00;
		position: absolute;
		top: 0;
		right: 0;
		transform:scale(0);
		cursor: pointer;
	}

	.show .btn_navmain_close{
		transition:transform .1s;
		transition-delay: .25s;
		transform:scale(1);
	}

	.nav_main_sp.show .btn_close{
		transition:transform .1s;
		transition-delay: .25s;
		transform:scale(1);
	}

	.btn_navmain_close::before,
	.btn_navmain_close::after{
		content: "";
		display: block;
		width: 30px;
		height: 2px;
		background: white;
		position: absolute;
		top: 50%;
		left: 15px;
		margin-top: -1px;
	}

	.btn_navmain_close::before{
		transform: rotate(45deg) scaleX(0);
	}
	.btn_navmain_close::after{
		transform: rotate(135deg) scaleX(0);
	}
	.show .btn_navmain_close::before{
		transition: transform .25s;
		transition-delay: .4s;
		transform: rotate(225deg) scaleX(1);
	}
	.show .btn_navmain_close::after{
		transition: transform .25s;
		transition-delay: .5s;
		transform: rotate(315deg) scaleX(1);
	}

	.nav_main_sp .btn_lang{
		display: flex;
		width: 60px;
		height: 60px;
		color: #FFF;
		position: absolute;
		top: 60px;
		right: 0;
		justify-content: center;
		align-items: center;
	}


	.footer_btm .block1{
		display: block;
	}
	.footer_btm .block1 .col1{
		margin-bottom: 60px;
	}
}




@media only screen and (max-width:1024px){ /* 表示領域が1024px以下の場合に適用するスタイル */

	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	タブレット

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* 改行
	---------------------------------------------- */
	br.pc,br.sp{display: none;}
	br.tab{display: block;}

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */
	
	/* リンク
	---------------------------------------------- */	
	.link_tel01{
		color: #333;
		text-decoration: underline !important;
	}
	.footer_btm .mv_animation{
		position: absolute;
		top: unset;
		left: -8px;
	    bottom: -23.75vw;
		width: 40vw;
		height: 40vw;
		margin: -21vw 0 0 0;
		transform: rotate(-45deg) skew(15deg, 15deg);
	}
	.footer_btm .block2{
		padding-right: 20px;
	}

	/* ページタイトル
	---------------------------------------------- */
	.pagetitle{
		margin-bottom: 96px;
		padding-top: 50px;
	}
	.pagetitle span{
	}

	.pagetitle.type01{
	}
	.pagetitle.type01 .inner{
		padding: 80px 0 0;
	}
	.pagetitle.type01 .inner img{
	}
	.pagetitle.type01 .inner .wrap_text{
	}
	.pagetitle.type01 .inner .wrap_text .en{
	}
	.pagetitle.type01 .inner .wrap_text .jp{
	}

	.subpages ul li{
		width: 50%;
	}
	.subpages ul li a .thumbnail .frame.vertical::before,
	.subpages ul li a .thumbnail .frame.vertical::after,
	.subpages ul li a .thumbnail .frame.horizontal::before,
	.subpages ul li a .thumbnail .frame.horizontal::after{
		display: none;
	}
	
	
}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* 改行
	---------------------------------------------- */
	br.pc,br.tab{display: none;}
	br.sp{display: block;}

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */

	body{
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	/*--404ページ--*/
	.wrap_404{
		text-align: center;
		padding: 100px 20px 0;
		margin-bottom: 100px;
	}
	
	.ttl_404{
		font-size: 3rem;
		font-weight: bold;
		margin-bottom: 12px;
	}
	
	.txt_404{margin-bottom: 30px;}
	
	.txt_404 br:nth-of-type(2){display: none;}
	
	/* リンク
	---------------------------------------------- */	
	.link_tel01{
		color: #333;
		text-decoration: underline !important;
	}
	
	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */
	
	.wrap_top_inner{
		display: flex;
		flex-wrap: nowrap;
		overflow: hidden;
	}

	.wrap_top_inner .cloned{display: block;}
	
	.wrap_top_inner h1{
		text-overflow: inherit;
		overflow: visible;
		white-space: nowrap;
		font-size: 1rem;
	}

	#wrap_top{
		width: 100%;
	}

	#header{
		margin-bottom: 0.66vw;
	}
	.header_inner .col1{
		height: unset;
		display: block;
	}
	.header_inner .col2{
		display: none;
	}

	.h_logo{
		padding-top: 20px;
		display: inline-block;
	}

	.h_logo a .logomark{
		width: 93px;
	}
	.h_logo a .logomark img{width: 100%;}
	.h_logo a .logotxt{
		padding-top: 5px;
		font-size: 1.3rem;
		line-height: 1.2;
	}
	.h_logo a .logotxt br{
		display: block;
	}
	.h_logo a .logotxt .univ{
		font-size: 1rem;
		margin-bottom: 3px;
	}


	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */
	#footer .pagetop{
		display: block;
		font-family: 'Roboto', sans-serif;
		font-size: 1.3rem;
		text-align: center;
		background: #F8F9F9;
		padding: 19px 0 17px;
	}
	#footer .pagetop::after{
		content: "";
		display: inline-block;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		width: 8px;
		height: 7px;
		background: #ACB3B7;
	}
	#footer .pagetop span{
		padding-right: 5px;
		letter-spacing: .05em;
	}

	#footer .links{
		padding: 40px 0;
	}
	#footer .links ul{
		display: block;
	}
	#footer .links ul li{
		font-size: 1.4rem;
	    line-height: 1.4;
	    padding: 10.21px 6.4vw;
	}
	#footer .links ul li a{
	}
	#footer .links ul li a::after{
		position: relative;
		top: 2px;
		left: 6px;
	}
	#footer .links ul li a:hover{}

	#footer .bnr{
		display: block;
		padding: 30px 0;
		background: url(../img/bg_bnr.jpg) no-repeat;
		background-size: cover;
		position: relative;
	}
	#footer .bnr::before{
		content: "";
		display: block;
		width: 200px;
		height: 63px;
		background: #005372;
		position: absolute;
		top: 30px;
		left: 50%;
		margin-left: -100px;
		transform: translate3d(5px, 5px, 0);
	    mix-blend-mode: multiply;
	    filter: blur(5px);
	    opacity: .66;
	}
	#footer .bnr a{
		display: block;
		width: 200px;
		margin: 0 auto;
		position: relative;
	}
	#footer .bnr a img{
		width: 100%;
	}

	.footer_btm{
		padding: 54px 6.4vw 140px;
	}
	.footer_btm .block1{
		display: block;
		margin-bottom: 60px;
	}
	.footer_btm .block1 .col1{
		margin-bottom: 33px;
	}
	.footer_btm .block1 .col .address{
		font-size: 1.3rem;
	}
	.nav_footer>ul{
		display: block;
	}
	.nav_footer>ul>li{
		font-size: 1.2rem;
		border-bottom: 1px solid #DDD;
		display: flex;
		align-items: flex-start;
		line-height: 1.4;
		padding: 10px 0;
	}
	.nav_footer>ul>li:last-child{
		border-bottom: none;
	}
	.nav_footer>ul>li>a{
		display: block;
		padding: 9px 0;
		margin: 0;
		flex:none;
		width: 11em;
	}
	.nav_footer>ul>li>a:hover{
		color: #1F323D;
	}

	.nav_footer>ul>li>ul>li{
		padding: 0;
		max-width: unset;
	}
	.nav_footer>ul>li>ul>li::before{
		display: none;
	}
	.nav_footer>ul>li>ul>li>a{
		display: block;
		padding: 9px 0;
	}
	.nav_footer>ul>li>ul>li>a:hover{
		color: #1F323D;
	}

	.footer_btm .block2{
		text-align: left;
		padding: 0;
	}
	.footer_btm .block2 .seo{
		font-size: 1rem;
	    text-align: left;
	    line-height: 1.2;
	}
	.footer_btm .block2 small{
		font-size: 1rem;
	}

	.footer_btm .mv_animation{
		left: 50%;
	    bottom: -48vw;
	    margin: 0 0 0 -40.4vw;
	    width: 80.8vw;
	    height: 80.8vw;
	}
	
	/* ページトップボタン
	---------------------------------------------- */
	.btn_pagetop{display: none;}

	/* メインナビ
	---------------------------------------------- */
	.nav_main_sp .h_logo{padding-top: 20px;}
	.nav_main_sp nav>ul>li{
		font-size: 1.3rem;	
	}

	/* パンくず
	---------------------------------------------- */	
	.breadclumb{
		line-height: 1.4;
	}
	.breadclumb nav ul li{
		font-size: 1rem;
	}
	.breadclumb nav ul li::before{
		top: 0.55em;
	}
	.breadclumb nav ul li a:hover{
		opacity: 1;
	}

	/* ページタイトル
	---------------------------------------------- */	
	.pagetitle{
		font-size: 4vw;
		margin: 0;
		padding: 48px 3.2vw 60px;
		line-height: 1.2;
	}
	.pagetitle span{
		font-size: 10.4vw;
		margin-bottom: 0.15em;
	}
	.pagetitle.type01{
		margin: 0 0 43px 0;
		padding: 20px 0 0 0;
	}
	.pagetitle.type01 .inner{
		padding:34px 0 0;
	}
	.pagetitle.type01 .inner img{
	}
	.pagetitle.type01 .inner .wrap_text{
		padding: 15px 20px 18px;
	}
	.pagetitle.type01 .inner .wrap_text .en{
		font-size: 10.4vw;
	}
	.pagetitle.type01 .inner .wrap_text .jp{
		font-size: 4vw;
	}

	.subpages{
		padding: 60px 0;
	}
	.subpages ul{
		display: block;
		padding: 0 10%;
		margin-bottom: 0;
	}
	.subpages ul li{
		width: 100%;
		padding: 0;
		margin-bottom: 28px;
	}
	.subpages ul li:last-child{margin-bottom: 0;}
	.subpages ul li a{
	}
	.subpages ul li a .thumbnail{
		margin-bottom: 6px;
	}

	.subpages ul li a .thumbnail img{
	}
	.subpages ul li a:hover .thumbnail img{
	}
	.subpages ul li a .thumbnail .arrow{
		width: 34px;
		height: 34px;
	}
	.subpages ul li a:hover .thumbnail .arrow{
	}
	.subpages ul li a .thumbnail .arrow::before,
	.subpages ul li a .thumbnail .arrow::after{

	}

	.subpages ul li a:hover .thumbnail .arrow::before{
		
	}
	.subpages ul li a .thumbnail .arrow::after{
	}
	.subpages ul li a:hover .thumbnail .arrow::after{
	}


	.subpages ul li a .label{
		font-size: 1.6rem;
	}


}/*--@media--*/


