@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Zen+Old+Mincho&display=swap');
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'),
	local('Yu Gothic Medium'),
	local('YuGothic-Regular');
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'),
	local('Yu Gothic'); 
}

/*-----------------------------------------------
(Component)
__Default Clear
__Layout
-----------------------------------------------*/

/*-----------------------------------------------
__Default Clear
-----------------------------------------------*/
html{
	overflow-y: scroll;
}
body,header,main,footer,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,select,label,p,blockquote,th,td,dl,dt,dd,section,article,a,figure{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body{
	font-size: 110%;
	background:white;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",'Zen Old Mincho',HGS明朝E,メイリオ,Meiryo,serif;
	line-height:1.4;
	color:#212121;
	position: relative;
	font-weight: bold;
}


.grid {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50.8%);
	width: 100%;
	height: 100%;
	display: flex;

	pointer-events: none ;
	z-index: -1;
	mix-blend-mode: multiply;
  }
   
  .grid div {
	height: 100%;
	border-right: 1px solid #ebf2f7;
	width: 20.35%;
  }


address,caption,cite,code,dfn,em,strong,th,var{
	font-style: normal;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
caption,th{
	text-align: left;
}
q:before,q:after{
	content: '';
}
object,embed{
	vertical-align: top;
}
legend{
	display: none;
}
hr{
	border:none;
	border-top:1px solid #ebf2f7;
	margin:60px auto;
}
h1,h2,h3,h4,h5,h6{
	font-size: 100%;
}
img,abbr,acronym,fieldset{
	border: 0;
}
img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
	width /***/:auto;
}
a[data-lightbox] img{
	transition: all ease .5s;
}
a[data-lightbox]:hover img{
	opacity: 0.5;
}

li{
	list-style-type: none;
}
p{
	margin-bottom: 0.5em;
}
a{
	text-decoration:none;
}

input,textarea,button,select{
	font-family: 'Poppins', "Helvetica Neue" , Helvetica , Arial , Verdana , MyYuGothicM, YuGothic, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	-webkit-appearance: none;
	outline: none;
	border: 1px solid #ddd;
	border-radius: 3px ;
	padding: 10px;
}
button{
	background: #1762ce;
	color: #fff;
}
::selection {
    background: #d2e5f7;/*背景色*/
    color: #1762ce; /*文字色*/
}
::-moz-selection {
    background: #d2e5f7; /*背景色*/
    color: #1762ce; /*文字色*/
}

.img-ofi {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;'
}
.img-btm {
	object-fit: cover;
	object-position: center bottom;
	font-family: 'object-fit: cover; object-position: center bottom;'
}
.img-top{
	object-position: center top;
	font-family: 'object-fit: cover; object-position: center top;'
}
.img-right{
	object-position: center right;
	font-family: 'object-fit: cover; object-position: center right;'
}


em.red{
	color: #df1a1a;
}

/*-----------------------------------------------
__Layout
-----------------------------------------------*/
#container,
header,
main,
footer{
	width: 100%;
	margin: 0 auto;
}
.wrap{
	width: 90%;
	max-width: 980px;
	clear:both;
	margin:0 auto;
}
.fl_box.wrap{
	width: 90%;
}

main a{
	color:#1762ce;
	text-decoration:underline;
}
main a:hover{
	text-decoration:none;
}
main a[href$=".pdf"]::after{
	content: "PDF";
	margin-left: 0.5em;
	vertical-align: middle;
	display: inline-block;
	font-size: 0.5em;
	padding: 1px 5px;
	border-radius: 3px;
	background: #1762ce;
	color: #fff;
}
main a[href$=".pdf"].none::after{
	display: none;
}

#topcontrol{
	z-index: 200;
}
#pagetop{
	position: relative;
	display: block;
	width:50px;
	height:50px;
	background: #1762ce;
}
#pagetop::before{
	content: "";
	position: absolute;
	left:0;
	bottom: 0;
	width: 100%;
	height: 0;
	background: #1258ad;
	transition: all ease .5s;
}
#pagetop:hover::before{
	height: 100%;
}
#pagetop::after{
	position: absolute;
	content: "";

	top:55%;
	left: 20px;
	width: 18px;
	height: 18px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg) translateY(-50%);
	transform: rotate(-45deg) translateY(-50%);
}


.fade_group div{
    content: '';
    position: fixed;
    top: 0;
    left: -100vw;
    width: 100vw;
    height: 100%;
    pointer-events: none;
}
.fade_group div {
    z-index: 9999;
    transition: 1s;
	background: #1258ad;
}

body.fo .fade_group div{
    left: 0;
}