@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');


/*-- Convention Format - Common --
----------------------------------

Base
Main header
Main area
Main footer

Media Queries 1500 1150 750 (print 1280)

----------------------------------
----------------------------------*/

/*-----
Disable transition on page load
-----*/
.preload *{
	-webkit-transition:none !important;
	-moz-transition:none !important;
	-ms-transition:none !important;
	-o-transition:none !important;
	transition:none !important;
}
/*-----
Hide the entire page in white until the page is loaded
-----*/
.preload::before{
	content:"";
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:block;
	background-color:rgb(255,255,255);
	background-image:url(../img/icon_loader.gif);
	background-position:center center;
	background-repeat:no-repeat;
	animation-name:preloadcover;
	animation-duration:.3s;
	animation-delay:2s;
	animation-fill-mode:both;
	z-index:1999;
	pointer-events:none;
}
@keyframes preloadcover{
	0%{opacity:1;}
	100%{opacity:0;}
}

/*-----------------------------
	Base
-----------------------------*/
*,
*::before,
*::after{
	box-sizing:border-box;
}
html{
	font-size:100%;
}
body{
	width: 100%;
	height: 0;
	margin:0;
	/*background:url(../img/background.jpg) center center / cover repeat-y;*/
	/*background-attachment:fixed;*/
	/*background-size:cover;*/
	font-family:
		"Open Sans",
		"メイリオ",
		"ヒラギノ角ゴ ProN W3",
		Hiragino Kaku Gothic ProN,
		Meiryo,
		Arial,
		sans-serif;
	font-size:1em;
	font-weight:400;
	color:rgb(60,60,60);
	line-height:1.75;
}
main{
	display:block;
}
p{
	margin:.75em 0;
	font-size:1rem;
}
.clearfix::after{
	content:"";
	display:table;
	clear:both;
}
hr{
	border-bottom:solid 2px rgb(15, 144, 188);
}
.skiplink{
	display:block;
	height:0;
	background:black;
	color:white;
	text-align:center;
	overflow:hidden;
}
.skiplink:focus{
	height:auto;
}


/*-----------------------------
	Main header
-----------------------------*/
.main_header{
	position:fixed;
	margin:0 auto;
	padding:0;
	width:100%;
	z-index:2000;
}
.main_header > .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	margin:0 auto;
	padding:10px 25px 10px 45px;
	width:100%;
	background:rgb(229,238,247);
	background:linear-gradient( rgb(0,174,239) 0%,rgb(0,53,149) 100%);
	/*box-shadow:0 1px 10px rgba(0,0,0,.2);*/
	transition:.15s ease-out;
	transition-property:padding;
}
.inner > .inner_right{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items:center;
	/*background:rgb(255,255,255);*/
	/*box-shadow:0 1px 10px rgba(0,0,0,.2);*/
	transition:.15s ease-out;
	transition-property:padding;
}
.main_header .logo_outer{
	display:flex;
	align-items:center;
}
.main_header .bureau_logo{
	margin:0 3px 0 0;
	padding-right:7px;
	width:50px;
	border-right:1px solid rgb(180,180,180);
	transition:.15s ease-out;
	transition-property:width,height;
}
.main_header .bureau_logo a{
	display:block;
	line-height:1;
	text-decoration:none;
	transition:opacity .2s ease-out;
}
.main_header .bureau_logo a:hover{
	opacity:.5;
}
.main_header .bureau_logo a img{
	vertical-align:bottom;
	line-height:1;
	width:100%;
}
.main_header h1{
	margin:0;
	width:320px;
	transition:.15s ease-out;
	transition-property:width,height;
}
.main_header h1 a{
	display:block;
	line-height:.7;
	text-decoration:none;
	transition:opacity .2s ease-out;
}
.main_header h1 a:hover{
	opacity:.5;
}
.main_header h1 a img{
	vertical-align:bottom;
	line-height:.7;
	width:100%;
	height:auto;
}

/*-----------------------------
	Sub header
-----------------------------*/
.sub_header{
	background:url("../img/hero_area01_webmeeting-back.jpg") center top no-repeat;
	background-size:cover;
	/*background:linear-gradient(90deg, rgba(117,183,216,1) 0%, rgba(255,255,255,1) 50%);*/
	background-size:cover;
	margin:0 auto;
	padding:0;
	width:100%;
	z-index:2000;
}
.sub_header > .inner{
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	margin:0 auto;
	width:100%;
	max-width:1400px;
	/*background:rgb(255,255,255);*/
	/*box-shadow:0 1px 10px rgba(0,0,0,.2);*/
	transition:.15s ease-out;
	transition-property:padding;
}

/* lang_switch
--------------------*/
.main_header .lang_switch {
	padding-left:10px;
	list-style:none;
	z-index: 1;
}
.main_header .lang_switch li {
	float: left;
}
.main_header .lang_switch li a {
	display: block;
	padding: 0 2px;
	min-width: 80px;
	background-color: rgb(255,255,255);
	border: 1px solid rgb(0,174,239);
	font-size: .735rem;
	color:rgb(0,174,239);
	text-align: center;
	text-decoration: none;
	/* visibility:hidden; */
	/* 英語ページが出来るまで非表示 */
}
.main_header .lang_switch li a.on {
	background-color: rgb(0,174,239);
	color: #fff;
}

/* nav
--------------------*/
.main_header .nav_area{
	line-height:1.4;
}
.main_header .nav_area #small_menu_button{
	display:none;
}
.main_header .nav_area #small_menu_button + label{
	display:none;
}

/*-- nav area --*/
.main_header nav{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	/*padding-right:50px;*/
	width:100%;
}

/* main */
.main_header .nav_area .main{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	align-content:center;
	margin:0;
	padding:0;
	list-style:none;
}
.main_header .nav_area .main > li{
	display:flex;
	position:relative;
}
.main_header .nav_area .main > li > a{
	position:relative;
	padding:.5em 1em;
	font-size:.937rem;
	font-weight:700;
	color:rgb(255,255,255);
	line-height:1.2;
	text-decoration:none;
	transition:.15s ease-out;
	transition-property:width,color;
	overflow:hidden;
}
.main_header .nav_area .main > li > a::before{
	content:"";
	position:absolute;
	top:50%;
	left:-12px;
	display:block;
	border-style:solid;
	border-width:7px 0 7px 7px;
	border-color:rgba(22,174,191,0) rgba(22,174,191,0) rgba(22,174,191,0) rgba(22,174,191,1);
	transform:translateY(-50%);
	transition:left .15s ease-out;
}
.wrapper:not(.fk-touch_device) .main_header .nav_area .main > li:hover > a,
.main_header .nav_area .main > li.active > a{
	color:rgb(22,174,191);
}
.main_header .nav_area .main > li.current > a{
	color:rgb(22,174,191);
}
.main_header .nav_area .main > li.current > a::before{
	left:1px;
}
.main_header .nav_area .main > li .fk-touch_arrow{
	position:relative;
	display:none;
	align-items:center;
	align-content:center;
	margin-left:-13px;
	padding:5px 11px;
	box-shadow:-1px -1px 1px rgba(0,0,0,.4) inset, 1px 1px 1px rgba(0,0,0,.1) inset;
	color:rgba(22,174,191,1);
	transition:.2s ease-out;
	transition-property:color;
}
.main_header .nav_area .main > li .fk-touch_arrow::before{
	content:"";
	display:block;
	border-style:solid;
	border-width:.5rem .3rem 0 .3rem;
	border-color:currentColor rgba(165,0,65,0) rgba(165,0,65,0) rgba(165,0,65,0);
	transition:.2s ease-out;
	transition-property:transform;
}
.fk-touch_device .main_header .nav_area .main > li .fk-touch_arrow.active::before{
	transform:rotate(180deg);
}
.fk-touch_device .main_header .nav_area .main > li .fk-touch_arrow{
	display:flex;
}
.main_header .nav_area .layer2{
	position:absolute;
	top:100%;
	right:0;
	display:block;
	margin:0;
	padding:0;
	width:200px;
	height:0;
	background:rgba(0,0,0,.8);
	list-style:none;
	transition:.15s ease-out .1s;
	transition-property:opacity;
	overflow:hidden;
	opacity:0;
}
.wrapper:not(.fk-touch_device) .main_header .nav_area .main li:hover .layer2,
.fk-touch_device .main_header .nav_area .main li .fk-touch_arrow.active + .layer2{
	padding:8px 0;
	height:auto;
	opacity:1;
	z-index:1;
}
.main_header .nav_area .layer2 li{
	width:100%;
}
.main_header .nav_area .layer2 a{
	position:relative;
	display:block;
	padding:.5em 1.2em;
	font-size:.875rem;
	font-weight:500;
	color:rgb(255,255,255);
	line-height:1.2;
	letter-spacing:0.05em;
	text-decoration:none;
	text-shadow:1px 1px 2px rgba(0,0,0,.4);
	transition:.2s ease-out;
	transition-property:background,color;
}
.main_header .nav_area .layer2 a::before{
	position:absolute;
	left:.5rem;
	top:50%;
	content:"";
	display:inline-block;
	margin-right:3px;
	border-style:solid;
	border-width:.3rem 0 .3rem .4rem;
	border-color:rgba(255,255,255,0) rgba(255,255,255,0) rgba(255,255,255,0) currentColor;
	transform:translateY(-50%);
}
.main_header .nav_area .layer2 a:hover{
	background:rgb(255,255,255);
	color:inherit;
}
.main_header .nav_area .layer2 li.current > a{
	background:rgba(255,255,255,.85);
	color:inherit;
}
.main_header .nav_area a.external::after{
	content:"";
	display:inline-block;
	width:1em;
	height:1em;
	margin-left:.3em;
	background-image:url(../img/icon-external_indigo.svg);
	background-repeat:no-repeat;
	background-size:80%;
	background-position:center center;
	vertical-align:-12%;
	transition:opacity .15s ease-out;
}
.main_header .nav_area a.external:hover::after{
	opacity:.5;
}
.main_header .nav_area a.l_logo img{
	height:2em;
	vertical-align:-12%;
}
.main_header .sub_links{
	display:flex;
	margin:0 5px 0 15px;
	padding:0;
	list-style:none;
	transition:padding .15s ease-out;
}
.main_header .sub_links li{
	margin-right:10px;
}
.main_header .sub_links li:last-child{
	margin-right:0;
}
.main_header .sub_links a{
	transition:opacity .15s ease-out;
}
.main_header .sub_links a:hover{
	opacity:.65;
}
.main_header .sub_links img{
	vertical-align:bottom;
	height:45px;
}

/* Disabled when in small menu */
@media screen and (min-width:1501px){
	/* scrolled */
	.main_header.fk-scrolled > .inner{
		padding-top:8px;
		padding-bottom:8px;
	}
	.main_header.fk-scrolled .bureau_logo{
		width:38px;
	}
	.main_header.fk-scrolled h1{
		width:220px;
	}
}

/*-----------------------------
	Main area
-----------------------------*/
.main_area{
	padding-top:83px;
	min-height:calc(100vh - 180px);
	background-size:auto;
}
.main_area.bg01{
	background:url(../img/common_bg01.png) center top no-repeat;
}
.main_area.bg02{
	background:url(../img/common_bg02.png) center top no-repeat;
}
.main_area.bg03{
	background:url(../img/common_bg03.png) center top no-repeat;
}
.main_area.bg04{
	background:url(../img/common_bg04.png) center top no-repeat;
}
.main_area .wrap{
	margin:0 auto;
	max-width:1140px;
	width:100%;
	background:rgb(255, 255, 255);
}

.main_area .note{
	font-size:.937rem;
	text-align:right;
}

/*-----------------------------
	Main footer
-----------------------------*/
.main_footer{
	position:relative;
	margin:0 auto;
	padding:0;
	background:rgb(15, 144, 188);
	z-index:1;
}
#page_home + .main_footer{
	margin-top:0;
}
.main_footer > .inner{
	margin:0 auto;
	padding:25px 50px;
	text-align:center;
}
.main_footer address{
	font-style:normal;
	color:rgb(255,255,255);
}
.main_footer address .title{
	margin:0 auto;
	padding:0 10px 6px;
	max-width:330px;
	width:100%;
	font-size:1.125rem;
	font-weight:700;
	border-bottom:solid 1px rgb(255,255,255);
	line-height:1.4;
}
.main_footer address .title_en{
	margin:0 auto;
	padding:0 10px 6px;
	max-width:670px;
	width:100%;
	font-size:1.125rem;
	font-weight:700;
	border-bottom:solid 1px rgb(255,255,255);
	line-height:1.4;
}
.main_footer address .info{
	margin:.5rem 0 0;
	font-size:.875rem;
	font-weight:400;
	line-height:1.6;
	letter-spacing:0.05em;
}
.main_footer address .info a{
	color:inherit;
}
.main_footer .page_up{
	margin:0;
	text-align:right;
}
.main_footer .page_up a{
	margin-bottom:65px;
	position:fixed;
	right:2px;
	bottom:2px;
	display:block;
	width:70px;
	transition:opacity .2s ease-out;
	z-index:10;
	opacity:.8;
	overflow:hidden;
}
.wrapper:not(.fk-touch_device) .main_footer .page_up a:hover{
	opacity:.4;
}
.main_footer .page_up a img{
	width:100%;
	vertical-align:bottom;
}
.main_footer .copyright{
	margin:0;
	padding:1.2em 25px;
	border-top:solid 1px rgb(255,255,255);
	font-size:.75rem;
	color:rgb(255,255,255);
	line-height:1.3;
	text-align:center;
}

/*---------------------------------
---------------------------------
	Media Queries
---------------------------------
---------------------------------*/
@media screen and (max-width:1500px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header > .inner{
		padding:10px 20px;
	}
	.main_header .bureau_logo{
		width:35px;
	}
	.main_header h1{
		width:170px;
	}
	.main_header .nav_area .main > li > a{
		padding:.4em .6em;
		font-size:.83rem;
	}
	.inner > .inner_right {
		padding-right: 30px;
	}
	/* lang_switch
	--------------------*/
	.main_header .lang_switch li a {
		min-width:50px;
	}
	/*-----------------------------
		Main area
	-----------------------------*/
	.main_area{
		padding-top:75px;
	}
}

@media screen and (max-width:1150px){
	body{
		background:none;
	}
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header{
		padding:0;
	}
	.main_header > .inner{
		padding:7px 20px;
		/*border-radius:0 0 5px 5px;*/
	}
	.main_header .bureau_logo{
		width:33px;
	}
	.main_header h1{
		width:165px;
	}
	/* lang_switch
	--------------------*/
	.main_header .lang_switch li a {
		min-width:80px;
	}
	/* nav
	--------------------*/
	.main_header .nav_area #small_menu_button{
		position:absolute;
		top:16px;
		right:40px;
		display:block;
		padding:8px 7px;
		width:40px;
		background:none;
		border:none;
		z-index:1200;
	}
	.main_header .nav_area #small_menu_button > span{
		display:block;
		margin:0 auto 6px;
		width:100%;
		height:3px;
		background:rgb(255,255,255);
		transition:.25s ease-out;
		transition-property:transform,background,width;
	}
	.main_header .nav_area #small_menu_button > span:nth-child(3){
		margin-bottom:0;
	}
	.main_header .nav_area #small_menu_button[aria-expanded="true"] > span{
		background:rgb(0,180,255);
	}
	.main_header .nav_area #small_menu_button[aria-expanded="true"] > span:nth-child(1){
		transform:rotate(45deg) translate(6px,7px);
	}
	.main_header .nav_area #small_menu_button[aria-expanded="true"] > span:nth-child(2){
		width:0px;
	}
	.main_header .nav_area #small_menu_button[aria-expanded="true"] > span:nth-child(3){
		transform:rotate(-45deg) translate(6px,-7px);
	}

	.main_header .nav_area nav.is-drawerActive{
		right:0;
		opacity:1;
	}
	.main_header .nav_area .close_field{
		position:fixed;
		top:0;
		right:0;
		display:block;
		width:40%;
		max-width:300px;
		height:0;
		background:rgba(0,0,0,0);
		transition:background .15s ease-out;
	}
	.main_header .nav_area nav.is-drawerActive + .close_field{
		height:100vh;
		background:rgba(0,0,0,.75);
		z-index:1000;
	}
	.main_header nav{
		position:fixed;
		top:30px;
		right:120%;
		display:block;
		padding:0 5px;
		padding-top:20px;
		width:40%;
		max-width:300px;
		z-index:1100;
		opacity:0;
		transition:opacity .15s ease-out;
	}
	.main_header nav{
		flex-wrap:wrap;
		border-bottom:none;
	}
	/* main */
	.main_header .nav_area .main{
		flex-wrap:wrap;
		width:100%;
	}
	.main_header .nav_area .main > li{
		position:relative;
		margin-bottom:5px;
		width:100%;
	}
	.main_header .nav_area .main > li > a{
		padding:.5em 1em;
		min-height:0;
		width:100%;
		font-size:.937rem;
		font-weight:700;
		color:rgb(255,255,255);
		line-height:1.2;
		letter-spacing:0.05em;
		text-decoration:none;
		transition:.15s ease-out;
		transition-property:width,min-height;
	}
	.wrapper:not(.fk-touch_device) .main_header .nav_area .main > li:hover > a,
	.main_header .nav_area .main > li.active > a{
		background:rgb(255,255,255);
	}
	.main_header .nav_area .main > li.current > a{
		background:rgb(255,255,255);
	}
	.main_header .nav_area .main > li .fk-touch_arrow{
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		background:rgba(255,255,255,.3);
	}
	.main_header .nav_area .main > li.current{
		background:none;
	}
	.main_header .nav_area .layer2{
		width:100%;
	}
	.main_header .nav_area a.external::after{
		background-image:url(../img/icon-external_white.svg);
	}
	.main_header .nav_area a.l_logo{
		background:rgba(255,255,255,.8);
		text-align:center;
	}
	.main_header .nav_area a.l_logo img{
		height:2.5em;
	}
	.main_header .sub_links{
		order:1;
		flex-wrap:wrap;
		width:100%;
		margin:0 5px 10px 0;
		padding:0;
	}
	.main_header .sub_links li{
		margin-top:4px;
		margin-bottom:4px;
	}
	.main_header .sub_links img{
		height:40px;
	}
	.inner > .inner_right {
	padding-right: 80px;
	}
	/*-----------------------------
		Main area
	-----------------------------*/
	.main_area{
		padding-top:68px;
	}
	/*-----------------------------
		Main footer
	-----------------------------*/
	.main_footer > .inner{
		padding:30px 20px;
	}
	.main_footer address{
		margin:15px 0;
		width:100%;
		text-align:center;
	}
	.main_footer address .title{
		max-width:290px;
	}
}

@media screen and (max-width:750px){
	/*-----------------------------
		Base
	-----------------------------*/
	html{
		font-size:90%;
	}

	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header .bureau_logo{
		width:30px;
	}
	.main_header h1{
		width:165px;
	}
	.main_header .nav_area #small_menu_button{
		top:6px;
		right:30px;
	}
	.main_header > .inner{
		padding:0 20px;
		/*border-radius:0 0 5px 5px;*/
	}
	.inner > .inner_right {
		padding-right: 60px;
	}
	/*-----------------------------
		Main area
	-----------------------------*/
	.main_area{
		padding-top:49px;
		background-size:90% auto;
	}

	/*-----------------------------
		Main footer
	-----------------------------*/
	.main_footer > .inner{
		max-width:500px;
		padding:30px 20px;
		text-align:center;
	}
}

@media screen and (max-width:580px){
	/*-----------------------------
		Main header
	-----------------------------*/
	/* lang_switch
	--------------------*/
	.main_header > .inner > .inner_right{
		display:block;
		padding:0;
		width:100%;
	}
	.main_header .lang_switch {
		margin:6px 0 7px auto;
		padding-left:3px;
	}
	.inner > .inner_right {
		padding-right:60px;
	}
	/*-----------------------------
		Main area
	-----------------------------*/
	.main_area{
		padding-top:63px;
	}
	.main_area .prt-box_w1040_mtb80 {
		margin-top:40px;
	}
	.main_area .prt-home_h2_01{
		font-size:1.5rem;
	}
}

@media screen and (max-width:440px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.inner > .inner_right{
		padding-right:60px;
	}
}
@media screen and (max-width:380px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.inner > .inner_right{
		padding-right:20px;
	}
}
@media print{
	body{min-width:1280px;}
	.main_header{position:absolute;}
}
