@charset "utf-8";
/* CSS Document */
html {
	scroll-behavior: smooth;
}
body {
	margin: 0px;
	padding: 0px;
	background-color: #FFF;
	color: #000000;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	letter-spacing: 0.04em;
	line-height: 1.75;
}

p{
	margin: 0px;
	padding: 0px;
}
div{
}
ul{
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
    font-weight: normal;
    line-height: 1.6;
    margin: 0;
    padding: 0
}
/*#laout {
	opacity: 0;
	animation: fadeIn 1.5s ease forwards;
}
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}*/
input,
select{
	font-size: 18px;
	font-family: "Noto Sans JP", serif;
}
#link00,#link01,#link02,#link03,#link04,#link05,#link06,#link07,#link08,#link09{
	scroll-margin-top: 50px;
}
.DEV_PC {
}
.DEV_SP {
	display: none;
}
.m_kai {
	text-indent: -1em;
	padding-left: 1em;
}
.m_900 {
	font-weight: 900;
}
.m_700 {
	font-weight: 700;
}
.m_600 {
	font-weight: 600;
}
.m_400 {
	font-weight: 400;
}
.m_aka {
	color: #ff0000;
}
.m_line{
	text-decoration: underline;
}
.moji_B{/*DB用*/
	font-size: min(1.563vw,30px);
}
.moji_S{/*DB用*/
	font-size: min(0.625vw,12px);
}
.Link01 a:hover{
	opacity: 0.5;
	transition:0.3S;
}
.Link02 a:hover {
	opacity: 0.8;
	transition: 0.3S;
}
#menu {
	display: none;
}
#menu_sw {
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 1000;
}
#menu_list {
	box-sizing: border-box;
	background-color: #000000;
	height: 100%;
	overflow: scroll;
	z-index: 999;
	color: #FFF;
	border-radius: 20px 0px 0px 20px;
	padding-top: 30px;
	padding-right: 12px;
	padding-bottom: 100px;
	padding-left: 24px;
	position: fixed;
	top: 0;
	right: 0;
	width: 330px;
	transform: translateX(100%);
	transition: .3s;
}
#menu_list.open{
	transform:translateX(0);
}
.menu_lt {
	font-size: 17px;
	font-weight: 700;
	padding-top: 1em;
	padding-bottom: 1em;
	display: block;
	color: #FFF;
	text-decoration: none;
	position: relative;
}
.menu_lt::after{
	content: "→";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#menu_list hr {
	border: none;
	background-color: #fff;
	height: 1px;
	margin: 0;
}

.menu_lt_sw{
	padding-top: 1em;
	padding-bottom: 1em;
	font-weight: 700;
	font-size: 17px;
	position: relative;
}
.menu_lt_sw::after{
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.menu_lt_sw.open::after{
	content: "-";
}
.menu_lt_sub {
	display: none;
	font-size: 14px;
	padding-left: 24px;
	padding-bottom: 1em;
}
.menu_lt_sub li {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.menu_lt_sub li a {
	color: #FFF;
	text-decoration: none;
}

.menu_end_sw {
	margin-top: 30px;
	display: block;
}
.menu_end_txt {
	line-height: 100%;
	margin-top: 30px;
	padding-left: 0.5em;
	border-left-width: 2px;
	border-left-style: solid;
	border-left-color: #FFF;
	display: block;
	font-weight: 700;
	color: #FFF;
	text-decoration: none;
}
#menu_bk.open {
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	height: 100%;
	width: 100%;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 998;
}











#left1,#left2,#left3 {
	position: fixed;
	z-index: 900;
}
#left1 {
	top: min(0.104vw,2px);
}
#left2 {
	mix-blend-mode: difference;
	top:min(7.552vw,145px);
}
#left3 {
	top: min(33.333vw,640px);
}

#left1_rogo {
	box-sizing: border-box;
	margin-top: min(1.771vw,34px);
	max-width: min(16.667vw,320px);
}

#left2_LinkTxt {
	margin-left: min(1.667vw,32px);
}
#left2_LinkTxt hr{
	border-top-width: 1px;
	border-top-style: solid;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	border-top-color: #b3b3b3;
	margin: 0;
    padding: 0;
}
.left2_LinkTxt_A {
	width: min(10.417vw,200px);
	height: min(3.021vw,58px);
	display: flex;
	justify-content:space-between;
	align-items:center;
}
.left2_LinkTxt_A a{
	text-decoration: none;
	font-size: min(0.938vw,18px);
	color: #FFF;
	display: inline-block;
}
.left2_LinkTxt_A span{
	text-decoration: none;
	font-size: min(0.938vw,18px);
	color: #FFF;
	text-align: right;
}
.left2_LinkTxt_B {
	width: min(10.417vw,200px);
	height: min(1.667vw,32px);
	line-height: min(0.833vw,16px);
}
.left2_LinkTxt_B a{
	text-decoration: none;
	font-size: min(0.833vw,16px);
	color: #FFF;
	display: inline-block;
	letter-spacing: 0px;
	line-height: min(0.833vw,16px);
}


.left3_sw_iq_ma {
	box-sizing: border-box;
	padding-top: min(0.417vw,8px);
	padding-bottom: min(0.417vw,8px);
	margin-left: min(1.667vw,32px);
	max-width:  min(10.417vw,200px);
}


#foot {
	background-image: url(../images/etc/f_bk.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	background-color: #000;
}
#foot_wide {
	margin-left: min(calc(100vw * (360 / 1920)), 360px);
	padding-top: 34px;
	padding-bottom: 34px;
	color: #FFF;
	max-width: 1200px;
	padding-right: 20px;
}
#foot_wide a{
	color: #FFF;
	text-decoration: none;
}
.foot_up {
	display: flex;
	flex-wrap:wrap;
	row-gap: 20px;
}
.foot_up_01 {
	width: 100%;
	font-size: 18px;
	margin-right: 80px;
	max-width: 470px;
}
.foot_up_add {
	padding-left: 70px;
}
.foot_up_02 {
	display: flex;
}
.foot_up_02 img{
	width: 100%;
	max-width: 264px;
	margin-right: 24px;
	transition: transform 0.3s ease, filter 0.3s ease;
}
.foot_up_02 img:hover{
	transform: translateY(-5px);
	/*filter: grayscale(100%);*/
}
.foot_mi {
	display: flex;
	margin-top: 30px;
	column-gap: 20px;
}
.foot_mi_no01 {
	font-size: 18px;
}
.foot_mi_no01 p {
	padding-top: 2px;
	padding-bottom: 2px;
	white-space: nowrap;
}

.foot_mi_no02 {
	font-size: 14px;
}
.foot_mi_no02_box {
	display: flex;
	flex-wrap:wrap;
	column-gap: 12px;
}
.foot_mi_no02_sp p {
	padding-top: 10px;	
}




.foot_mi_sub {
	font-size: 18px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #FFF;
}
.foot_mi_no02_p {
	padding-top: 10px;
}
.foot_mi_no02_long {
	position: absolute;
}
@media screen and (max-width: 1460px) {
.foot_mi_no02_long {
	position: relative;
}
}


.foot_bo {
	display: flex;
	align-items: center;
	column-gap: 20px;
	font-size: 13px;
	margin-top: 40px;
}




#foot_copy {
	font-size: 16px;
	color: #FFF;
	background-color: #000;
	text-align: center;
	padding: 4px;
}
#next {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 100;
	width: 60px;
	transition: transform 0.3s ease;
	display: none;
}
#next:hover {
	transform: translateY(-5px);
}
.Left_Space {
	box-sizing: border-box;
	padding-left: min(18.75vw,360px);
}
.wide_1400{
	width: 100%;
	max-width: min(72.917vw,1400px);
}
.wide_1300{
	width: 100%;
	max-width: min(67.708vw,1300px);
}
.space_t_b_150 {
	padding-top: min(7.813vw,150px);
	padding-bottom: min(7.813vw,150px);
}
.space_t_150 {
	padding-top: min(7.813vw,150px);
}
.space_b_150 {
	padding-bottom: min(7.813vw,150px);
}

/*------------------------------------------------------------------*/
.linku6_box01 {
	display: grid;
	grid-template-columns: min(19.271vw,370px) min(19.271vw,370px);
	column-gap: min(3.125vw,60px);
	row-gap: min(2.344vw,45px);
	width: min(41.667vw,800px);
	margin-right: auto;
	margin-left: auto;
}
.linku6_sw {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: min(0.938vw,18px);
	color: #5a78b4;
	border: 1px solid #5a78b4;
	height: min(2.5vw,48px);
	/*width: min(19.271vw,370px);*/
	padding-right: 0.8em;
	padding-left: 0.8em;
	text-decoration: none;
	background-color: #FFF;
	box-shadow: 2px 2px #CCC;
	font-weight: bold;
	
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s ease;
}
.linku6_sw::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: #5a78b4;
	transition: width 0.3s ease;
	z-index: -1;
}
.linku6_sw:hover {
	color: #FFF;
}
.linku6_sw:hover::before {
	width: 100%;
}




.sw05_box01 {
	display: flex;
	justify-content: center;
	column-gap: min(1.563vw,30px);
}
.sw05_box02 {
	display: flex;
	justify-content: center;
	margin-top: min(3.646vw,70px);
	column-gap: min(1.563vw,30px);
}
.sw05_box02_txt01 {
	font-size: min(0.938vw,18px);
	text-align: center;
	padding-top: min(0.208vw,4px);
}
.sw05_box03 {
	display: grid;
	grid-template-columns: min(52.083vw,1000px);
	row-gap: min(1.563vw,30px);
	justify-content:center;
	margin-top: min(3.125vw,60px);
}

.sw05_sw_img01{
	width: min(18.229vw,350px);	
}
.sw05_sw_img02{
	width: min(28.125vw,540px);
}


.conact_box01 {
	font-size: min(2.083vw,40px);
	font-weight: 700;
	text-align: center;
}
.conact_box01::after {
	content: "";
	display: block;
	width: min(2.604vw,50px);
	height: min(0.104vw,2px);
	background: #2878ff;
	margin: min(1.042vw,20px) auto 0;
}
.conact_box02 {
	display: grid;
	grid-template-columns: min(23.229vw,446px) min(23.229vw,446px);;
	column-gap: min(2.188vw,42px);
	row-gap: min(2.188vw,42px);
	justify-content: center;
	margin-top: min(2.604vw,50px);
}
.conact_box02 img{
	width: 100%;
	transition:.3s;
}
.conact_box02 img:hover{
	transform: scale(1.03);
}
/*------------------------------------------------------------------*/




.foot_sp {
	padding-top: 34px;
	padding-right: 24px;
	padding-bottom: 34px;
	padding-left: 24px;
	color: #FFF;
}
.foot_sp_01 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 315px;
}
.foot_sp_02 {
	margin-top: 30px;
	font-size: 14px;
}
.foot_sp_02 a{
	color: #FFF;
	text-decoration: none;
}
.foot_sp_03 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 315px;
	margin-top: 30px;
}








#PC_END-------------------------------------------------------------------------------------------------------------------------- {}
@media screen and (max-width: 737px) {
#SP-------------------------------------------------------------------------------------------------------------------------- {}
body {
	min-width: 0px;
	/*textx*/
	text-size-adjust: none;
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
}
p {
	max-height: 100%;/*クロームバグ*/
}
.DEV_PC {
	display: none !important;
}
.DEV_SP {
	display: block !important;
}
.moji_B{/*DB用*/
	font-size: 20px;
}
.moji_S{/*DB用*/
	font-size: 12px;
}
#left1_rogo h1 img {
	width: 170px;
}

#menu {
	display: block;
}
#left1 {
	top: 10px;
}
#left1_rogo {
	margin-top: 0px;
	max-width: 170px;
}
#foot_copy {
	font-size: 9px;
	padding: 1em;
}
#next {
	right: 0px;
	bottom: 0px;
	width: 45px;
}
.Left_Space {
	padding-left: 0px;
	max-width: 100%;
}
.wide_1400{
	width: 100%;
	max-width: 100%;
}

.wide_1300{
	width: 100%;
	max-width: 100%;
}

.space_t_b_150 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.space_t_150 {
	padding-top: 50px;
}
.space_b_150 {
	padding-bottom: 50px;
}
.sp_wide_20_20{
	width: calc(100% - 40px);
	margin-right: auto;
	margin-left: auto;
}



/*------------------------------------------------------------------*/
.linku6_box01 {
	display: grid;
	grid-template-columns: 100%;
	row-gap: 20px;
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	box-sizing: border-box;
}
.linku6_sw {
	font-size: 14px;
	height: 36px;
	box-sizing: border-box;
}




.sw05_s_sw01 {
	font-size: 15px;
	text-align: center;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 340px;
	margin-bottom: 40px;
}
.sw05_s_sw02 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 300px;
	margin-bottom: 30px;
}
.sw05_s_sw03 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 340px;
	margin-bottom: 20px;
}





.conact_box01 {
	font-size: 20px;
}
.conact_box01::after {
	content: "";
	display: block;
	width: 25px;
	height: 2px;
	background: #2878ff;
	margin: 16px auto 0;
}
.conact_box02 {
	display: grid;
	grid-template-columns:auto;
	justify-items: center;
	row-gap: 20px;
	justify-content: center;
	margin-top: 20px;
}
.conact_box02 img{
	width: 100%;
	max-width: 300px;
}
.conact_box02 img:hover{
	}
/*------------------------------------------------------------------*/

#SP_END-------------------------------------------------------------------------------------------------------------------------- {}
}
