@charset "utf-8";
@import url(https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
/* == reset == */

html { font-size:100%;}
body {overflow-x: hidden; font-size:16px; background:#fff; font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; line-height:1.6; color:#1a1a1a;}
body, h1, h2, h3, h4, h5, h6, p, dl, dd, ul, ol, li, form, fieldset, blockquote, table, thead, tbody, tfoot, tr, td, th { margin:0; padding:0;}
th, td, table, input, button, select, textarea {
	font-size:1rem;
	font-weight:normal;
	font-style:normal;
	padding:0;
	margin:0;
}
table {
	width:100%;
	border-width:0;
	border-spacing:0;
	border-collapse:collapse;
}
img, input, button, select, textarea {
	vertical-align:middle;
}
ul, ol {
	list-style:none;
}
a {
	color:#333;	
	text-decoration:underline;
	opacity:1;
	transition:0.3s;
}
a:hover {
	outline:none;
	text-decoration:none;
	opacity:0.6;
	transition:0.3s;
}
body * {
    box-sizing: border-box;
    word-wrap: break-word;
}
img {
	border:0;
	max-width: 100%;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
	img{
		width: 100%;
	}
}
/* == / reset == */
:root {
	--bland: #4bbcf2;
	--pc-width: 1400;
	--sp-width: 750;
	--pc-vw-unit: calc(100vw / var(--pc-width));
	--sp-vw-unit: calc(100vw / var(--sp-width));
}

/* == layout == */
body{
	padding-top: 150px;
}
.ui_screen{
	display: block;
}
.pcNone {
	display:none !important;
}
.ui_txt_left {
	text-align: left !important;
}
.ui_txt_right {
	text-align: right !important;
}
.ui_txt_center {
	text-align: center !important;
}
.ui_db{
	display: block;
}
.ui_dib{
	display: inline-block;
}
.ui_df{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.ui_aic{
	align-items: center;
}
.ui_aife{
	align-items: flex-end;
}
.ui_aifs{
	align-items: flex-end;
}
.ui_ml_auto{
	margin-left: auto;
}
.ui_mr_auto{
	margin-right: auto;
}
.ui_mlr_auto{
	margin-left: auto;
	margin-right: auto;
}
.ui_mt_auto{
	margin-top: auto;
}
.ui_wide{
	max-width:1200px;
	margin:0 auto;
}
.ui_wide_s{
	max-width:1000px;
	margin:0 auto;
}
.ui_wide_xs{
	max-width:900px;
	margin:0 auto;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.ui_wide,.ui_wide_s{
		width:auto;
		margin: 0 15px;
	}
}
@media only screen and (min-width: 0) and (max-width: 767px) {
	.spNone {
		display:none!important;
	}
	.pcNone {
		display:block!important;
	}
	.ui_screen{
		display: inline;
	}
	.ui_df_sp{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.ui_wide,.ui_wide_s{
		width:92vw;
		margin:0 4vw;
	}
}
/* == / layout == */

/* == / margin == */
.ui_mt0{
	margin-top: 0 !important;
}
[class *= "ui_mb_"]{
	padding-bottom: 0.1px;
}
.ui_mb0{
	margin-bottom: 0 !important;
}
.ui_mb05{
	margin-bottom: 5px !important;
}
.ui_mb10{
	margin-bottom: 10px !important;
}
.ui_mb15{
	margin-bottom: 15px !important;
}
.ui_mb20{
	margin-bottom: 20px !important;
}
.ui_mb25{
	margin-bottom: 25px !important;
}
.ui_mb30{
	margin-bottom: 30px !important;
}
.ui_mb40{
	margin-bottom: 40px !important;
}
.ui_mb50{
	margin-bottom: 50px !important;
}
.ui_mb60{
	margin-bottom: 60px !important;
}
.ui_mb70{
	margin-bottom: 70px !important;
}
.ui_mbL{
	margin-bottom: 80px !important;
}
.ui_mb120{
	margin-bottom: 120px !important;
}
.ui_mb_last{
	margin-bottom: 150px !important;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
	.ui_mt0sp{
		margin-top: 0 !important;
	}
	.ui_mb0sp{
		margin-bottom: 0 !important;
	}
	.ui_mb05sp{
		margin-bottom: 5px !important;
	}
	.ui_mb10sp{
		margin-bottom: 10px !important;
	}
	.ui_mb15sp{
		margin-bottom: 15px !important;
	}
	.ui_mb20sp{
		margin-bottom: 20px !important;
	}
	.ui_mb25sp{
		margin-bottom: 25px !important;
	}
	.ui_mb30sp{
		margin-bottom: 30px !important;
	}
	.ui_mb40sp{
		margin-bottom: 40px !important;
	}
	.ui_mb50sp{
		margin-bottom: 50px !important;
	}
	.ui_mb60sp{
		margin-bottom: 60px !important;
	}
	.ui_mb120{
		margin-bottom: 80px !important;
	}
	.ui_mb_last{
		margin-bottom: 100px !important;
	}
}
/* == / margin == */

/* == / font == */
ruby > rt{
	transform:scale(0.8);
}
.ui_font_n{
	font-weight: normal;
}
.ui_font_b{
	font-weight: bold;
}
.ui_font_al{
	text-align: left!important;
}
.ui_font_ar{
	text-align: right!important;
}
.ui_font_ac{
	text-align: center!important;
}
.ui_font_xs{
	font-size: 0.75rem;
	line-height: 1.5;
}
.ui_font_s{
	font-size: 0.875rem;
	line-height: 1.7;
}
.ui_font_m{
	font-size: 1rem;
}
.ui_font_l{
	font-size: 1.125rem;
}
.ui_font_xl{
	font-size: 1.25rem;
}
.ui_font_e{
	font-size: 1.5rem;
}
.ui_font_xe{
	font-size: 1.75rem;
}
.ui_font_blue{
	color: #4abcf2;
}
.ui_font_red{
	color: #fc3c3c;
}
.ui_indent10{
	padding-left: 1em;
	text-indent: -1em;
}
.ui_indent15{
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.ui_indent20{
	padding-left: 2em;
	text-indent: -2em;
}
.ui_indent25{
	padding-left: 2.5em;
	text-indent: -2.5em;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
	.ui_font_l{
		font-size: 1.0625rem;
	}
	.ui_font_xl{
		font-size: 1.125rem;
	}
	.ui_font_e{
		font-size: 1.25rem;
	}
	.ui_font_xe{
		font-size: 1.5rem;
	}
}
/* == / font == */

.ui_m_scr{
	top: 0;
}
.ui_m_scr_wp{
	top: 0;
}
.ui_m_scr[style *= "fixed"] .ui_menu{
	transform: translate(0px, 0px);
	transition: 0.2s;
}
.ui_menu_wp{
	position: fixed;
	z-index: 99;
	left: 0;
	top: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #1a1a1a;
}
.ui_menu_logo a{
	display: block;
	margin-left: 40px;
	max-width: 82px;
	color: #1a1a1a;
}
.ui_menu{
	position: relative;
	max-width: 1266px;
	width: 100%;
	height: 80px;
	margin: 0 auto;
	transition: 0.6s cubic-bezier(0.25,0.1,0.25,1);
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 40px;
	background: #fff;
	box-shadow: 0 5px 20px rgba(0,0,0,0.12);
	transform: translate(0px, 20px);
}
.ui_menu_wp .search_box input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
}
.ui_menu_wp .search_box {
	flex: 1;
	margin-bottom: 0;
}
.ui_menu_wp .search_container {
    box-sizing: border-box;
    position: relative;
    border: none;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    border-radius: 25px;
    width: 100%;
    height: 50px;
    max-width: 319px;
    overflow: hidden;
    margin-right: 0;
    margin-left: auto;
}
.ui_menu_wp .search_container input[type="text"] {
    border: none;
    height: 100%;
	width: 66.6%;
    padding: 18px;
    flex: 1;
}
.ui_menu_wp .search_container input[type="text"]::placeholder {
	color: #cccccc;
	font-size: 0.875rem;
}
.ui_menu_wp .search_container input[type="text"]:focus {
    outline: none;
}
.ui_menu_wp .search_container input[type="submit"] {
    cursor: pointer;
    font-family: FontAwesome;
    font-size: 1.3em;
    background: none;
    color: var(--bland);
    width: 50px;
    height: 50px;
    border: none;
    outline: none;
	line-height: 1;
	position: static;
}
.ui_menu_list{
	display: flex;
	font-size: 0.875rem;
	font-weight: bold;
}
.ui_menu_list>li{
	position: relative;
	margin: 0 9px;
}
.ui_menu_list>li>a,.ui_menu_list>li>span{
	position: relative;
	display: block;
	padding: 20px 0;
	color: #1a1a1a;
	text-decoration: none;
}
.ui_menu_list>li>a>img{
	margin-left: 5px;
}
.ui_menu_list>li.ui_menu_en{
	display: flex;
    align-items: center;
}
.ui_menu_list>li.ui_menu_en::before {
	content: '';
	height: 1em;
	width: 1px;
	border-left:solid 1px #1a1a1a;
	margin-right: 15px;
}
.ui_menu_list>li.ui_menu_en a{
	color: var(--bland);
}
.ui_menu_list>li.ui_menu_en::after {
	display: none;
}
.ui_menu_list>li.ui_menu_bdr a{
	padding-left: 25px;
	padding-right: 25px;
	border: 1px solid #4abcf2;
	border-radius: 32px;
}
.ui_menu_list>li.ui_menu_en a span {
	display: none;
}
.ui_menu_list>li.ui_menu_bg a{
	height: 60px;
	display: flex;
    justify-content: center;
    align-items: center;
	padding-top: 10px;
	padding-bottom: 9px;
	padding-left: 25px;
	padding-right: 25px;
	background: #4abcf2;
	border-radius: 32px;
	color: #fff;
	text-align: center;
}
.ui_menu_list>li.ui_menu_bg{
	margin-left: 5px;
}
.ui_menu_btn{
	display: none;
	position: fixed;
	right: 10px;
	top: 10px;
	z-index: 99;
	width: 2.5em;
	height: 2.5em;	
	cursor: pointer;
	border-radius: 3px;
	background: #2185D0;
}
.ui_menu_btn span{
	width: 1.4em;
    height: 0.13em;
    background-color: #fff;
    position: absolute;
    left: calc(50% - 0.7em);
    transition: all 0.3s ease;
    opacity: 1;
}
.ui_menu_btn span:nth-child(1){
	top: 0.7em;
}
.ui_menu_btn span:nth-child(2){
	top: 1.2em;
}
.ui_menu_btn span:nth-child(3){
	top: 1.7em;
}
.is_open.ui_menu_wp .ui_menu{
	z-index: 98;
	opacity: 1;
	top: 0;
	right: 0;
	transition: 0.6s cubic-bezier(0.25,0.1,0.25,1);
}
.is_open .ui_menu_btn span:nth-child(1) {
	top: 1.2em;
	transform: rotate(45deg);
}
.is_open .ui_menu_btn span:nth-child(2) {
	opacity: 0;
}
.is_open .ui_menu_btn span:nth-child(3) {
	top: 1.2em;
	transform: rotate(-45deg);
}
@media only screen and (min-width: 0) and (max-width: 1160px) {
	.ui_menu_wp .spNone {
		display:none!important;
	}
	.ui_menu_wp .pcNone {
		display:block!important;
	}
	.ui_menu_wp{
		background: none;
	}
	.ui_menu_logo {
		flex: 1;
	}
	.ui_menu_sp{
		position: static;
		top: 0;
		left: 0;
		z-index: 99;
		padding: 0 15px;
		width: 100%;
		height: 54px;
		background: #fff;
		box-shadow: 0 5px 10px rgba(0,0,0,0.15);
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	.ui_menu_wp .search_container {
		max-width: 210px;
		height: 35px;
	}
	.ui_menu_wp .search_container input[type="text"] {
		padding: 10px;
	}
	.ui_menu_wp .search_container input[type="submit"] {
		height: 35px;
		line-height: 1.5;
	}
	.ui_menu_list>li.ui_menu_en{
		display: block;
	}
	.ui_menu_list>li.ui_menu_en::before {
		display: none;
	}
	.ui_menu_list>li.ui_menu_en a span {
		color: #666666;
		display: inline-block;
		position: relative;
		margin-right: 1em;
	}
	.ui_menu_list>li.ui_menu_en a span::after {
		content: "";
		border: solid transparent 3px;
		border-top: solid #666666 3px;
		position: absolute;
		top: 0.5em;
		transform: rotate(-90deg) translateY(-0.5em);
		margin: 0 1em;
	}
	.ui_menu_sp .ui_menu_bg a{
		color: #fff;
		background-color: var(--bland);
		border-radius: 30px;
		text-decoration: none;
		padding: 10px 28px 10px 20px;
		height: 30px;
		max-width: 250px;
		margin: auto 15px;
		font-size: 12px;
	}
	.ui_menu_sp .ui_menu_bg a::after {
		right: 15px;
		width: 5px;
		height: 5px;
	}
	.ui_menu_sp .ui_menu_bg a:hover {
		transform:none;
	}
	.ui_menu_logo a{
		margin-left: 0;
		width: 60px;
	}
	.ui_menu_btn{
		display: block;
		position: relative;
		right: -5px;
		top: 0;
	}
	.ui_menu{
		margin: 0!important;
		width: 100vw!important;
		height: 0;
		overflow: auto;
		padding: 58px 15px 30px;
		position: fixed;
		left: 0;
		top: 0;		
		background: #fff;
		opacity: 0;
		z-index: -1;
		text-align: center;
		border-radius: 0;
		transform: translate(0px, 0);
		align-items: flex-start;
	}
	.is_open.ui_menu_wp .ui_menu {
		height: 100vh;
	}
	.ui_menu_btn{
		background: none;
	}
	.ui_menu_btn span{
		background: #007ab4;
	}
	.ui_menu_list{
		display: none;
		width: 100%;
		padding: 6vh 5vw;
		border-top: 1px solid #4abcf2;
	}
	.is_open.ui_menu_wp .ui_menu_list {
		display: block;
	}
	.ui_menu_list li{
		position: relative;
		border-bottom: 1px solid #e6e6e6;
		text-align: left;
	}
	.ui_menu_list li a{
		padding: 10px 0;
	}
	.ui_menu_list li::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 5px;
		height: 5px;
		border-top: 0.12em solid #4abcf2;
		border-right: 0.12em solid #4abcf2;
		transform: translateY(-50%) rotate(45deg);
	}
	.ui_menu_list li.ui_menu_bdr,.ui_menu_list li.ui_menu_bg{
		margin-top: 20px;
		border-bottom: none;
		text-align: center;
	}
	.ui_menu_list li.ui_menu_bdr{
		margin-top: 25px;
	}
	.ui_menu_wp.is_open .ui_menu_sp{
		box-shadow: none;
	}
	.ui_menu_list li.ui_menu_bdr::before,.ui_menu_list li.ui_menu_bdr::after,.ui_menu_list li.ui_menu_bg::before,.ui_menu_list li.ui_menu_bg::after{
		display: none;
	}
	
}

@media screen and (min-width:768px) {
	.ui_bnr_wp{
		overflow: hidden;
	}
	.ui_bnr{
		position: relative;
		left: 50%;
		top: 0;
		width: 2500px;
		transform: translateX(-50%);
	}
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.ui_bnr{
		width: 208vw;
	}
}

[class *= "ui_btn_"]{
	margin: 30px auto 0;
	max-width: 334px;
	height: 93px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:15px 30px 13px 20px;
	border-radius: 47px;
	background: #2185D0;
	color: #fff;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: 0.4s;
	line-height: 1.4;
	letter-spacing: 0;
}
[class *= "ui_btn_"]::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 40px;
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}
[class *= "ui_btn_"]:hover{
	opacity: 1;
	transition: 0.4s;
	transform:scale(1.1);
}
.ui_btn_right::after{
	transform: translateY(-50%) rotate(45deg);
}
.ui_btn_left::after{
	transform: translateY(-50%) rotate(225deg);
}
.ui_btn_up::after{
	transform: translateY(-35%) rotate(-45deg);
}
.ui_btn_down::after{
	transform: translateY(-65%) rotate(135deg);
}
.ui_btn_linear{
	background: linear-gradient(-40deg, rgba(17,139,252,0.85) 0% ,rgba(78,191,242,0.85) 90%);
}
.ui_btn_blank::after {
	background: url(../img/icon/icon_blank.svg) no-repeat center;
	width: 15px;
	height: 15px;
    border: none;
    transform: rotate(0) translateY(-50%);
}
@media screen and (max-width:768px) {
	.ui_btn_blank::after {
        width: 10px;
        height: 10px;
        right: 20px;
        background-size: cover;
	}
}
.ui_totop a{
	padding-top: 15px;
	position: relative;
	display: block;
	width: 110px;
	margin: 0 auto;
	text-align: center;
	font-size: 0.75rem;
	font-weight: bold;
	text-decoration: none;
}
.ui_totop a::after{
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 3px);
	width: 6px;
	height: 6px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(-45deg);
}
.footer{
	margin-top: 20px;
	padding: 50px 0 20px;
	background: radial-gradient(circle at top , #4dbdf2 20% ,#138dfc 100%);
	
	
	color: #fff;
	font-size: 0.75rem;
}
.footer a{
	text-decoration: none;
	color: #fff;
}
.footer .ui_btn_right.ui_btn-whiteS {
	color: var(--bland);
	height: 40px;
}
.footer .ui_btn_right.ui_btn-whiteS:hover {
	transform: none;
	opacity: .6;
}
@media screen and (max-width:768px) {
	.footer .ui_btn_right.ui_btn-whiteS {
		height: 45px;
		font-size: 0.75rem;
		margin-left: 0;
		max-width: 155px;
	}
	.footer .ui_btn_right.ui_btn-whiteS::after {
        width: 6px;
        height: 6px;
		right: 1.5em;
	}
}
.footer_menu{
	margin-bottom: 35px;
	display: flex;
	justify-content: center;
}
.footer_menu li{
	padding: 0 7px;
	border-right: 1px solid #fff;
	line-height: 1;
}
.footer_menu li:last-child{
	border-right: none;
}
.copyright{
	transform:scale(0.9);
	text-align: center;
}

.ui_fade,.ui_fade_i{
	transition: all 1000ms;
	opacity: 0;
	visibility: hidden;
	transform: translate(0px, 60px);
}
.ui_fadein{
	opacity: 1;
	visibility: visible;
	transform: translate(0px, 0px);
}
.ui_fadein .idx_ent_pic,.ui_fadein .idx_ent_text{
	transform: translate(0px, 0px) !important;
}
.ui_fade_cir.ui_fadein{
	opacity: 1;
	transform: translate(0px, 0px) scale(1);
}
.ui_fade_cir{
	opacity: 0;
	transform: translate(0px, 80px) scale(0);
	transition: 1s ease;
}
@media only screen and (min-width: 0) and (max-width: 1080px) { /*SP*/
	.footer{
		background: radial-gradient(circle at top , rgba(77,189,242,1) 20% ,rgba(20,141,252,1) 100%);
	}
	.footer_menu{
		display: block;
	}
	.footer_menu li{
		padding: 8px 0;
		border: none;
	}
}

/*common*/
.ui_section{
	padding-bottom: 70px;
	margin-bottom: 70px;
	border-bottom: 1px solid #dbdbdb;
	font-size: 0.875rem;
	line-height: 1.7;
}
.ui_section:last-of-type,.ui_section_last{
	border-bottom: none;
}
.ui_section a{
	color: #007ab4;
}
.ui_section p{
	margin-bottom: 2em;
}
.ui_section p:last-child{
	margin-bottom: 0;
}
.ui_path{
	display: flex;
	font-size: 0.875rem;
}
.ui_path li{
	color: #bababa;
}
.ui_path li::before{
    content: "";
    display: inline-block;
	vertical-align: middle;
	margin: -3px 10px 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}
.ui_path li:first-child::before{
	display: none;
}
.ui_path li a{
	color: #1a1a1a;
	text-decoration: none;
}
.ui_title_1{
	margin: 100px 0 90px;
	text-align: center;
}
.ui_title_1 h1{
	font-size: 1.875rem;
	line-height: 1.27;
	color: #4abcf2;
}
.ui_title_2{
	margin: 70px 0 40px;
}
.ui_title_2 h2{
	font-size: 1.5rem;
	line-height: 1.4;
	color: #4abcf2;
}
.ui_title_3{
	margin: 70px 0 5px;
}
.ui_title_3 h3{
	font-size: 1rem;
	line-height: 1.5;
	color: #4abcf2;
}
.ui_title_3 h3::before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #4abcf2;
	border-right: 2px solid #4abcf2;
	transform: translateY(-15%) rotate(45deg);
}
.ui_links_pdf::after{
	content: '';
	margin: -4px 10px 0;
	display: inline-block;
	vertical-align: middle;
	width: 24px;
	height: 24px;
	background: url(../img/icon_pdf.png) no-repeat;
	background-size: 100% 100%;
}
.ui_table{
	margin-bottom: 35px;
	width: 100%;
	text-align: left;
}
.ui_table th,.ui_table td{
	border: 1px solid #bababa;
	font-size: 0.875rem;
	line-height: 1.5;
}
.ui_table th{
	padding: 20px;
	background: #f3fbff;
}
.ui_table td{
	padding: 20px 30px;
}
.ui_anc_list{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	font-weight: bold;
	margin-bottom: 80px;
}
.ui_anc_list li{
	width: calc((100% - 30px)/3.001);
	margin: 0 15px 15px 0;
}
.ui_anc_list li:nth-child(3){
	margin-right: 0;
}
.ui_anc_list li a{
	min-height: 60px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 5px 35px 4px 55px;
	white-space: nowrap;
	border-radius: 30px;
	color: #bababa;
	border: 1px solid #4abcf2;
	text-decoration: none;
}
.ui_anc_list li a::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 25px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #4abcf2;
    border-right: 2px solid #4abcf2;
	transform: translateY(-65%) rotate(135deg);
}
.ui_anc_list li a span{
	position: absolute;
	left: 45px;
	top: calc(50% - 8px);
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: #4bbcf2;
	color: #fff;
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 1.5;
}
.ui_title_num{
	display: inline-block;
	vertical-align: middle;
	margin: -3px 5px 0 0;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: #4bbcf2;
	color: #fff;
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 1.5;
	text-align: center;
}


@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	body{
		padding-top: 74px;
	}
	.ui_path{
		font-size: 0.75rem;
		display: inline;
	}
	.ui_path li{
		display: inline;
	}
	.ui_title_1{
		margin: 55px 0;
	}
	.ui_title_1 h1{
		font-size: 1.44rem;
	}
	.ui_title_2{
		margin: 50px 0 15px;
	}
	.ui_title_2 h2{
		font-size: 1.25rem;
	}
	.ui_title_3{
		margin: 40px 0 5px;
	}
	.ui_title_3 h3{
		font-size: 0.9rem;
	}
	.ui_section{
		margin-bottom: 50px;
		padding-bottom: 50px;
	}
	.ui_anc_list li{
		width: 100%;
		margin-right: 0 !important;
	}
	.ui_anc_list li a{
		display: flex;
		min-height: 40px;
		border-color: currentcolor;
	}
	.ui_anc_list li a::after{
		left: 20px;
	}
	.ui_anc_list li a span{
		left: 38px;
	}
	.ui_anc_list{
		margin-bottom: 50px;
	}
	.ui_section p{
		margin-bottom: 1.4em;
	}
	.ui_table th,.ui_table td{
		padding: 10px 6px 10px 10px;
	}
}


/*common end*/

.ren_td_col01{
	width: 180px;
}
.ren_anc05{
	margin-right: 30px !important;
}
.pri_list01 li{
	margin-bottom: 2em;
}
.pri_indent01{
	padding-left: 2.5em;
	text-indent: -2.5em;
	margin-bottom: 0!important;
}
.ui_white {
    padding: 70px 0;
    background: #fff;
}
.ui_gray{
	padding: 70px 0;
	background: #f4f4f4;
}
.ui_h301 {
    font-size: 1.5rem;
    line-height: 1.27;
		text-align: center;
		margin-bottom: 1.2em;
}
.relate_list{
	flex-wrap: wrap;
	margin-bottom: -15px;
}
.relate_list li{
	width: 31.3%;
}
.ui_btn_relate{
	padding: 13px 40px 13px 20px;
	height: auto;
	color: #1a1a1a!important;
	background: #fff;
	margin-top: 0;
	margin-bottom: 15px;
}
.ui_btn_relate:hover{
	opacity: 0.6;
	transform: scale(1);
}
.ui_btn_relate::after{
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
	color: #4ebdf2;
}
.ui_pb0{
	padding-bottom: 0;
}
.sponsor_list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 2%;
}
.sponsor_list::after{
	content: "";
	display: block;
	width: 210px;
}
.sponsor_list li:nth-child(3),
.sponsor_list li:nth-child(6){
	margin-right: 0;
}
.sponsor_list li img {
    width: 210px;
}
.secu_bluebg{
	background: #f3fbff;
	padding: 1px 20px 60px;
}
.secu_bluebg .ui_title_2{
	margin: 40px 0 30px;
	text-align: center;
}
.secu_whitebg{
	background: #fff;
	padding: 30px;
}
.secu_flex{
	flex-direction: row-reverse;
	margin-bottom: 30px;
}
.secu_flex p{
	width: 86%;
}
.secu_flex div{
	width: 11.5%;
}
.ui_btn_secu{
	border: 1px #4abcf2 solid;
	max-width: 235px;
}
.ui_btn_boder_green{
	background-color: #fff;
	color: #999999;
	font-weight: bold;
	height: auto;
	max-width: 180px;
}
.ui_btn_boder_green::after{
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
	color:#12b59a;
}
.ui_btn_boder_yellow{
	background-color: #fff;
	color: #999999;
	font-weight: bold;
	height: auto;
	max-width: 180px;
}
.ui_btn_boder_yellow::after{
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
	color:#f9bb00;
}
@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.ui_btn_boder_green,
	.ui_btn_boder_yellow{
		max-width: 100%;
		width: 100%;
		padding: 20px;
	}
}
.ui_fade_text_line {
    overflow: hidden;
}
.ui_fade_text i {
    display: inline-block;
    font-style: normal;
    transition: all 1s;
    opacity: 0;
    visibility: hidden;
    transform: translate(0px, 40px);
}
.ui_fade_text .ui_fadein {
    opacity: 1;
    visibility: visible;
    transform: translate(0px, 0px);
}


/* philosophy */
.philo_wide{
}
.philo_kv{
	margin: 50px 0 80px;
	height: 540px;
	position: relative;
	background: url(../img/brand/brand_kv.jpg) no-repeat center center;
	background-size: cover;
}
.philo_kv h1{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: 1.875rem;
	text-align: center;
}
.philo_kv h1 span{
	display: block;
	font-size: 0.875rem;
}
.philo_h301{
	font-size: 2.5rem;
	text-align: center;
	color: #4abcf2;
	margin-bottom: 40px;
}
.philo_cap{
	margin-bottom: 70px;
	line-height: 2.1rem;
}
.philo_con{
	position: relative;
	margin-bottom: 160px;
}
.philo_round{
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(94deg , rgba(102,198,245,0.85) 0% , rgba(61,164,251,0.85) 100%);
}
.philo_round p{
	font-weight: bold;
	margin-bottom: 30px;
}
.philo_round h4{
	font-size: 1.5rem;
	color: #fff;
	margin-bottom: 10px;
}
.philo_round span{
	font-size: 0.875rem;
	color: #fff;
}
.philo_cur01{
	margin-left: 14%;
}
.philo_cur01 .philo_round{
	width: 626px;
	height: 626px;
	border-radius: 313px;
}
.philo_cur02{
	display: flex;
	justify-content: flex-end;
	margin-top: -110px;
	margin-right: 0;
}
.philo_cur02 .philo_round{
	width: 500px;
	height: 500px;
	border-radius: 250px;
}
.philo_cur03{
	margin-left: 5.83%;
	margin-top: -316px;
}
.philo_cur03 .philo_round{
	width: 500px;
	height: 500px;
	border-radius: 250px;
}
.philo_cur04{
	display: flex;
	margin-top: -290px;
	margin-left: 8%;
}
.philo_cur04 .philo_round{
	width: 570px;
	height: 570px;
	border-radius: 285px;
}
.philo_cur04 span{
	margin-bottom: 10px;
}
.philo_cur04 .philo_h401{
	margin-bottom: 40px;
}
.philo_cirs01{
	position: absolute;
	left: calc(50% - 810px);
	top: -63px;
	width: 266px;
	height: 266px;
	border-radius: 133px;
	background: #dbf3ff;
}
.philo_cirs02{
	position: absolute;
	left: calc(50% + 377px);
	top: -32px;
	width: 410px;
	height: 410px;
	border-radius: 205px;
	background: #c1ecff;
}
.philo_cirs03{
	position: absolute;
	left: calc(50% + 316px);
	top: 325px;
	width: 58px;
	height: 58px;
	border-radius: 29px;
	background: #83c1de;
}
.philo_cirs04{
	position: absolute;
	left: calc(50% - 623px);
	top: 527px;
	width: 168px;
	height: 168px;
	border-radius: 84px;
	background: #4ca2ca;
}
.philo_cirs05{
	position: absolute;
	left: calc(50% + 560px);
	bottom: 40px;
	width: 266px;
	height: 266px;
	border-radius: 138px;
	background: #dbf3ff;
}
.philo_cirs06{
	position: absolute;
	left: calc(50% + 204px);
	bottom: 110px;
	width: 72px;
	height: 72px;
	border-radius: 66px;
	background: #89cded;
}
.philo_cirs07{
	position: absolute;
	left: calc(50% - 920px);
	bottom: -50px;
	width: 332px;
	height: 332px;
	border-radius: 166px;
	background: #c1ecff;
}
.philo_bot_box{
	position: relative;
	padding: 70px 0;
	margin-bottom: 80px;
	background: url(../img/brand/brand_bg.png) center center;
	background-size: cover;
}
.philo_bot_box .ui_wide_xs{
	/* width: 900px; */
	text-align: center;
}
.ui_mb60{
	margin-bottom: 60px;
}
.philo_slogan h3{
	color: #4abcf2;
	font-size: 1.5rem;
	margin-bottom: 30px;
}
.philo_slogan h3 span{
	display: block;
	font-size: 0.75rem;
	color: #1a1a1a;
}
.philo_slo_tit{
	font-size: 1.625rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.philo_slogan p{
	font-size: 0.875rem;
}
.philo_navi {
	flex-wrap: wrap;
	margin-bottom: 180px;
	justify-content: flex-start;
}
.philo_navi li{
	width: calc((100% - 60px)/3);
	margin-right: 30px;
	text-align: center;
	margin-bottom: 20px;
	transition: 0.3s;
}
.philo_navi li:nth-child(3n+3){
	margin-right: 0;
}
.philo_navi li a{
	text-decoration: none;
	color: #999;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	font-weight: bold;
	border: 1px #4abcf2 solid;
	border-radius: 55px;
	background: #fff;
}
.philo_navi li a:hover,.philo_navi li a.active{
	background: linear-gradient(130deg , #54c3f1 0% , #027fff 100%);
	color: #fff;
	opacity: 1;
}
.philo_con .ui_fade_cir{
	transition: 1.5s ease;
}
.brand_title{
	margin-bottom: 35px;
	color: #4abcf2;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.4;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.brand_title span{
	margin: 0 30px;
}
.philosophy_slogan.last {
	border-top: 1px solid #37a7e6;
    padding-top: 60px;
}

/* environment */
.env_kv{
	margin: 50px 0 80px;
	height: 300px;
	position: relative;
	background: url(../img/csr/env_kv_pc.jpg) no-repeat center center;
	background-size: cover;
}
.kv_copy{
	display: flex;
	justify-content: center;
	align-items: center;
}
.kv_copy h1,
.kv_copy h2{
	color: #fff;
	font-size: 1.875rem;
	text-align: center;
}
.kv_copy h1 span,
.kv_copy h2 span{
	display: block;
	font-size: 1.25rem;
}
.env_h401{
	margin-bottom: 35px!important;
}
.env_cur01{
	display: flex;
	justify-content: center;
}
.env_cur01 .philo_round {
    width: 600px;
    height: 600px;
    border-radius: 300px;
}
.ui_tit_m{
	font-size: 1.875rem;
	color: #4abcf2;
	margin-bottom: 30px;
	font-weight: bold;
}
.ui_mbgM{
	margin-bottom: 80px;
}

.env_cur02{
	max-width: 1000px;
	margin: 0 auto 80px;
	display: flex;
	justify-content: space-between;
}
.env_cur02 .philo_round{
	width: 320px;
	height: 320px;
	border-radius: 160px;
}
.env_cur02 .philo_round h4{
	font-size: 1.25rem;
	margin-bottom: 30px;
}
.env_cur02 .philo_round:last-child h4{
	margin-bottom: 15px;
}
.env_small_round{
	width: 70px;
	height: 70px;
	border-radius: 35px;
	background: #96d3fa;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	margin: 0 auto;
	font-size: 0.93rem;
}
.env_small_list div{
	margin: 0 2px;
}
.env_event{
	max-width: 740px;
	margin: 0 auto 40px;
	flex-wrap: wrap;
}
.env_col01{
	width: 222px;
	height: 222px;
	border-radius: 111px;
	border: 1px #50bef2 solid;
	position: relative;
	padding-top: 60px;
	text-align: center;
	text-decoration: none;
	margin-bottom: 30px;
}
.env_col01 div::after{
	content: "";
	position: absolute;
	top: 75%;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 10px;
	height: 10px;
	border-top: 2px solid #50bef2;
	border-right: 2px solid #50bef2;
}
.env_img_ico{
	margin-bottom: 10px;
}
.env_col01 p{
	font-size: 1.25rem;
	font-weight: bold;
	color: #50bef2;
}
.env_cirs01 {
	position: absolute;
	left: calc(50% - 510px);
	top: 360px;
	width: 92px;
	height: 92px;
	border-radius: 46px;
	background: #e9f8ff;
}
.env_cirs02 {
	position: absolute;
	left: calc(50% + 315px);
	top: 430px;
	width: 46px;
	height: 46px;
	border-radius: 23px;
	background: #b7e9ff;
}
.env_cirs03 {
	position: absolute;
	left: calc(50% + 465px);
	top: 205px;
	width: 320px;
	height: 320px;
	border-radius: 160px;
	background: #eaf9ff;
}
.env_cirs04 {
	position: absolute;
	left: calc(50% - 735px);
	top: 600px;
	width: 218px;
	height: 218px;
	border-radius: 109px;
	background: #d2f0ff;
}
.env_cirs05 {
	position: absolute;
	left: calc(50% - 368px);
	top: 750px;
	width: 72px;
	height: 72px;
	border-radius: 36px;
	background: #b7e9ff;
}
.env_cirs06 {
	position: absolute;
	left: calc(50% + 186px);
	top: 940px;
	width: 86px;
	height: 86px;
	border-radius: 43px;
	background: #c1ebff;
}
.env_cirs07 {
	position: absolute;
	left: calc(50% + 409px);
	top: 727px;
	width: 146px;
	height: 146px;
	border-radius: 73px;
	background: #edf9ff;
}
.env_cirs08 {
	position: absolute;
	left: calc(50% - 520px);
	bottom: 548px;
	width: 100px;
	height: 100px;
	border-radius: 50px;
	background: #edf9ff;
}
.env_cirs09 {
	position: absolute;
	left: calc(50% + 574px);
	bottom: 653px;
	width: 92px;
	height: 92px;
	border-radius: 46px;
	background: #dbf3ff;
}
.env_cirs10 {
	position: absolute;
	left: calc(50% - 834px);
	bottom: 120px;
	width: 320px;
	height: 320px;
	border-radius: 160px;
	background: #eaf9ff;
}
.env_cirs11 {
	position: absolute;
	left: calc(50% + 440px);
	bottom: 260px;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	background: #b7e9ff;
}
.env_cirs12 {
	position: absolute;
	left: calc(50% + 500px);
	bottom: 80px;
	width: 220px;
	height: 220px;
	border-radius: 110px;
	background: #d2f0ff;
}


/*0516*/
.np_kv{
	background-image: url(../img/csr/bg_title_pc.jpg);
}
.ui_tips{
	margin-bottom: 80px;
	padding: 25px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #e8f6fc;
	
}
.ui_tips h3{
	width: 142px;
	height: 142px;
	border-radius: 50%;
	background: #4abcf2;
	color: #fff;
	font-size: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.ui_tips_list{
	width: calc(100% - 160px);
	font-size: 0.875rem;
}
.ui_tips_list li{
	padding-left: 6%;
	margin: 15px 0;
	display: flex;
	justify-content: space-between;
}
.ui_tips_time{
	width: 90px;
	color: #4abcf2;
}
.ui_tips_list li>p{
	width: calc(100% - 100px);
	padding-left: 2%;
}
.ui_tips_list li a{
	text-decoration: none;
}
.np_cat_item{
	margin-bottom: 20px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.np_cat_title{
	position: relative;
	width: 137px;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #12b59a;
	color: #fff;
	text-align: center;
}
.np_cat_title h5{
	position: relative;
	bottom: 15px;
	margin: auto;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
}
.np_cat_title h5>p{
	font-size: 0.875rem;
}
.np_cat_title a{
	position: absolute;
	bottom: 18px;
	left: calc((100% - 92px)/2);
	width: 92px;
	padding: 7px 0;
	border-radius: 20px;
	border: 1px solid #fff;
	color: #fff;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: normal;
}
.np_cat_title a::after {
    content: '';
    display: inline-block;
    margin: 6px -10px 0 5px;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentcolor;
    border-right: 2px solid currentcolor;
    transform: translateY(-50%) rotate(45deg);
}
.np_cat_info{
	width: calc(100% - 484px);
}
.np_cat_info li a{
	position: relative;
	display: flex;
	align-items: center;
	height: 74px;
	padding: 5px 20px 2px 20px;
	margin-bottom: 10px;
	background: #edfaf8;
	text-decoration: none;
	font-size: 0.875rem;
}
.np_cat_info li a strong{
	color: #12b59a;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1;
}
.np_cat_info li .np_cat_hascir{
	position: relative;
	padding-left: 20px;
	font-weight: bold;
}
.np_cat_hascir::before{
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 12px;
	height: 12px;
	border-radius: 6px;
	background: #12b59a;
}
.np_cat_info li a sub{
	font-size: 0.75rem;
	position: relative;
	bottom: 2px;
}
.np_cat_info li a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #13b5b1;
    border-right: 2px solid #13b5b1;
    transform: translateY(-50%) rotate(45deg);
}
.np_cat_info li:last-child a{
	margin-bottom: 0;
}
.np_cat_mark{
	width: 327px;
}
.np_cat_mark li{
	height: 74px;
	overflow: hidden;
	margin-bottom: 10px;
}
.np_cat_mark li:last-child{
	margin-bottom: 0;
}
.np_cat_note{
	margin: 30px 0 0;
	font-size: 0.875rem;
}
.np_cat_cir{
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	width: 12px;
	height: 12px;
	border-radius: 6px;
	background: #19bda1;
}
.np_cat_cir2{
	background: #fac116;
}
.np_cat_cir3{
	background: #c490bf;
}
.np_cat_item_cr2 .np_cat_title{
	background: #fac116;
}
.np_cat_item_cr2 .np_cat_info li a::after{
	border-color: #fac116;
}
.np_cat_item_cr2 .np_cat_info li a{
	background: #fcf9f0;
}
.np_cat_item_cr2 .np_cat_info li a strong{
	color: #fac116;
}
.np_cat_item_cr2 .np_cat_hascir::before{
	background: #fac116;
}
.np_cat_item_cr3 .np_cat_title{
	background: #c490bf;
}
.np_cat_item_cr3 .np_cat_info li a::after{
	border-color: #c490bf;
}
.np_cat_item_cr3 .np_cat_info li a{
	background: #f7f2f7;
}
.np_cat_item_cr3 .np_cat_info li a strong{
	color: #c490bf;
}
.np_cat_item_cr3 .np_cat_hascir::before{
	background: #c490bf;
}
.np_btn_sdgs{
	margin: 70px auto 180px;
	display: block;
	max-width: 100%;
	width: 100%;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	text-shadow: 0 0 10px rgba(0,0,0,0.2);
	position: relative;
}
.np_btn_sdgs p{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 100%;
	text-align: center;
	text-shadow: 0 0 10px rgba(0,0,0,0.4);
}
.np_btn_sdgs img{
	max-width: 100%;
	width: 100%;
}
.np_title_box{
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.np_title_box h3{
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.5;
	color: #4abcf2;
}
.np_more a {
    position: relative;
    display: block;
    text-decoration: none;
    padding-right: 18px;
}
.np_more a {
    position: relative;
    display: block;
    text-decoration: none;
    padding-right: 18px;
}
.np_more a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #4abcf2;
    border-right: 2px solid #4abcf2;
    transform: translateY(-50%) rotate(45deg);
}
.np_subject_wp{
	padding-top: 15px;
	overflow: hidden;
	font-weight: bold;
	padding-bottom: 160px;
}
.np_subject_wp .slick-prev, .np_subject_wp .slick-next{
	top: calc(50% - 30px);
}
.np_subject_wp li p{
	padding-top: 15px;
}
.htg_lead{
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.htg_lead_text{
	width: 75%;
	font-size: 1.125rem;
}
.htg_lead_pic{
	width: 20%;
	margin-right: 2%;
}
.htg_kv{
	background-image: url(../img/csr/htg_title_pc.jpg);
}
.htg_blue{
	padding: 20px 40px;
	background: #f0f9fc;
}
a.htg_links{
	display: inline-block;
	margin: 5px 0;
	color: #333;
	text-decoration: none;
	font-size: 1rem;
}
a.htg_links::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #4abcf2;
    border-right: 2px solid #4abcf2;
    transform: translateY(-15%) rotate(45deg);
}
.htg_blue_tbox{
	margin-bottom: 60px;
	padding: 40px 50px 60px;
}
.htg_tit_h3{
	margin-bottom: 30px;
	color: #4abcf2;
	font-size: 1.625rem;
	font-weight: bold;
}
.htg_tit_h4{
	margin-bottom: 12px;
	font-size: 1.125rem;
	font-weight: bold;
}
.gov_kv{
	background-image: url(../img/csr/gov_title_pc.jpg);
}
.gov_title_box{
	align-items: center;
	margin-bottom: 20px;
}
a.gov_readmore{
	position: relative;
	display: inline-block;
	width: 195px;
	padding: 15px;
	font-size: 0.875rem;
	font-weight: bold;
	text-decoration: none;
	color: #999;
	border: 1px solid #4abcf2;
	border-radius: 30px;
	text-align: center;
}
a.gov_readmore::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #4abcf2;
    border-right: 2px solid #4abcf2;
    transform: translateY(-50%) rotate(45deg);
}
.soc_kv{
	background-image: url(../img/csr/soc_title_pc.jpg);
}
.soc_blue{
	padding: 60px 0;
	background: #e8f6fc;
}
.soc_white{
	padding: 60px 0;
	background: #fff;
}
.soc_subbox{
	margin-left: 65px;
}
.soc_subbox h4{
	margin-bottom: 10px;
	font-weight: bold;
}
.soc_subbox h4::before{
	content: '';
	width: 14px;
	height: 14px;
	margin-right: 10px;
	margin-top: -2px;
	display: inline-block;
	vertical-align: middle;
	border-radius: 7px;
	background: #4abcf2;
}
.soc_subbox p{
	margin-right: -0.5em;
	font-size: 0.875rem;
}
.soc_subitem{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.soc_subtext{
	width: 67%;
}
.soc_subpic{
	width: 30.22%;
}
.soc_picbox13{
	display: flex;
	flex-direction: column;
}
.philo_navi_cr2 li a:hover,.philo_navi_cr2 li a.active{
	background: linear-gradient(130deg , #61c1f5 0% , #49adf9 100%);
}
.env_more{
	width: 25%;
	margin: 0 auto;
	text-align: center;
}
.env_more a{
	font-weight: bold;
	border: 1px #50bef2 solid;
	border-radius: 30px;
	display: block;
	padding: 15px 0;
	text-decoration: none;
	color: #999;
	position: relative;
	margin-bottom: 120px;
}
.env_more a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10%;
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
	height: 10px;
	border-top: 2px solid #50bef2;
	border-right: 2px solid #50bef2;
}
.soc_cap{
	line-height: 1.7rem;
}
.ui_wide_xs p{
	line-height: 1.7rem;
}
/* activities */
.act_kv{
	margin: 50px 0 80px;
	height: 300px;
	position: relative;
	background: url(../img/csr/act_kv_pc.jpg) no-repeat center center;
	background-size: cover;
}
.act_blue{
	background: #e8f6fc;
	padding: 80px 0;
}
.act_white{
	padding: 80px 0;
}
.act_wide_s{
	max-width: 770px;
	margin: 0 auto;
}
.act_titbox{
	text-align: center;
	margin-bottom: 60px;
}
.act_titbox img{
	margin-bottom: 5px;
}
.act_titbox h3{
	font-size: 2.25rem;
	color: #4abcf2;
}
.act_model{
	margin-bottom: 40px;
	align-items: center;
}
.act_pic{
	width: 29.9%;
}
.act_text{
	width: 65%;
}
.act_text h4{
	font-size: 1.5rem;
	color: #4abcf2;
	margin-bottom: 10px;
}
.act_text p{
	font-size: 0.875rem;
	line-height: 1.6rem;
	margin-bottom: 15px;
}
.act_right{
	flex-direction: row-reverse;
}
.philo_con_oh{
	overflow: hidden;
}
.comp_bluebg{
	padding: 40px 30px;
}
.comp_bluebg .secu_whitebg{
	padding: 1px 30px 40px;
}
.brand_slo_tit{
	font-size: 1.5rem;
}


@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.ui_wide_xs{
		margin: 0 4vw;
	}
	.brand_wp .ui_wide_xs{
		margin: 0;
		padding: 0 4vw;
	}
	.np_title_box h3{
		font-size: 1.25rem;
	}
	.ui_mbL{
		margin-bottom: 60px!important;
	}
	.ren_td_col01{
		width: 135px;
	}
	.ren_anc05{
		margin-right: 10px !important;
	}
	.relate_list{
		display: block;
		width: 100%;
		padding: 0 12vw;
	}
	.relate_list li{
		width: 100%;
	}
	.relate_list li a{
		max-width: 100%;
	}
	.ui_h301{
		font-size: 1.44rem;
	}
	.ui_white {
	  padding: 50px 0;
	}
	.ui_gray{
		padding: 50px 0;
	}
	.sponsor_list{
		grid-template-columns: repeat(2, 1fr);
		margin-bottom:30px;
		padding: 0 4vw;
		gap: unset;
	}
	.sponsor_list::after{
		margin: 0 2.6% 20px!important;
		width: 44.8%;
	}
	.sponsor_list li{
		margin: 0 2.6% 20px!important;
	}
	.sponsor_list li img {
		width: 100%;
		max-width: auto;
	}
	.secu_bluebg .ui_title_2{
		margin: 20px 0 15px;
	}
	.secu_bluebg{
		padding: 1px 4vw 30px;
	}
	.secu_whitebg{
		padding: 4vw;
	}
	.secu_flex{
		display: block;
		margin-bottom: 20px;
	}
	.secu_flex div{
		width: 22%;
		margin: 0 auto 15px;
	}
	.secu_flex p{
		width: 100%;
	}
	.env_img_ico{
		width: 40px;
		margin: 0 auto 5px;
	}
	.env_event{
		max-width: 100%;
		margin-bottom: 0;
	}
	.env_col01{
		width: 44vw;
		height: 44vw;
		border-radius: 50%;
		padding-top: 12%;
	}
	.env_col01 p{
		font-size: 0.9rem;
	}
	.env_col01 div::after{
		width: 7px;
		height: 7px;
	}
	.philo_navi{
		margin: 0 0 80px;
	}
	.philo_navi li{
		width: 100%;
		margin-right: 0;
	}
	.philo_navi li a{
		min-height: 60px;
		font-size: 0.9rem;
	}
	.env_more{
		width: 100%;
	}
	.env_more a{
		margin-bottom: 50px;
		font-size: 0.9rem;
	}
	.env_more a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 10%;
		transform: translateY(-50%) rotate(45deg);
		width: 7px;
		height: 7px;
		border-top: 2px solid #50bef2;
		border-right: 2px solid #50bef2;
	}
	.philo_con{
		margin-bottom: 50px;
	}
	.soc_subbox{
		margin-left: 15px;
	}
	.soc_subitem{
		display: block;
	}
	.soc_subtext{
		width: 100%;
		margin-bottom: 20px;
	}
	.soc_subpic{
		width: 100%;
	}
	.soc_subbox h4{
		margin-left: 1.6em;
		text-indent: -1.6em;
	}
	.soc_subbox{
		display: block;
	}
	a.gov_readmore{
		width: 100%;
	}
	.htg_lead_text{
		width: 100%;
	}
	.htg_txt01{
		font-size: 0.875rem;
	}
	.htg_blue{
		padding: 10px 20px;
	}
	.htg_blue a{
		font-size: 0.875rem;
		margin-left: 1.6em;
		text-indent: -1.6em;
	}
	.htg_tit_h3{
		font-size: 1.25rem;
	}
	.htg_tit_h4{
		font-size: 0.875rem;
	}
	
	
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
	.philo_round p {
		font-size: 1.14vw;
		margin-bottom: 2.14vw;
	}
	.philo_round h4 {
		font-size: 1.71vw;
		margin-bottom: 0.71vw;
	}
	.philo_cap,.philo_slogan {
		padding-left: 5%;
		padding-right: 5%;
	}
	.philo_cur04 .philo_h401 {
		margin-bottom: 2.85vw;
	}
	.philo_round span {
		font-size: 1vw;
	}
	.ui_wide.ui_wide_100.ui_pb01 {
		max-width: 100%;
	}
	.philosophy {
		position: relative;
		height: 100.64vw;
	}
	.philo_cur01 {
		position: absolute;
		top: 0;
		left: 19.46vw;
		margin: auto;
	}
	.philo_cirs01 {
		left: -8.149vw;
		top: -4.5vw;
		width: 19vw;
		height: 19vw;
		border-radius: 9.5vw;
		z-index: -1;
	}
	.philo_cirs02 {
		left: 76.88vw;
		top: -2.28vw;
		width: 29.28vw;
		height: 29.28vw;
		border-radius: 14.64vw;
		z-index: -1;
	}
	.philo_cirs03 {
		left: 72.68vw;
		top: 23.21vw;
		width: 4.14vw;
		height: 4.14vw;
		border-radius: 2vw;
	}
	.philo_cirs04 {
		left: 7.03vw;
		top: 37.64vw;
		width: 12vw;
		height: 12vw;
		border-radius: 6vw;
	}
	.philo_cirs05 {
		left: 84.99vw;
		top: 82.92vw;
		bottom: auto;
		width: 19vw;
		height: 19vw;
		border-radius: 9.5vw;
	}
	.philo_cirs06 {
		left: 61.99vw;
		top: 85.92vw;
		bottom: auto;
		width: 5.14vw;
		height: 5.14vw;
		border-radius: 2.57vw;
	}
	.philo_cirs07 {
		left: -16vw;
		top: 79.21vw;
		bottom: auto;
		width: 23.71vw;
		height: 23.71vw;
		border-radius: 11.85vw;
	}
	.philo_cur01 .philo_round {
		width: 44.71vw;
		height: 44.71vw;
		border-radius: 22.35vw;
	}
	.philo_cur02 {
		position: absolute;
		top: 37.5vw;
		left: 56.42vw;
		margin: auto;
	}
	.philo_cur02 .philo_round {
		width: 35.71vw;
		height: 35.71vw;
		border-radius: 17.85vw;
	}
	.philo_cur04 {
		position: absolute;
		top: 52.14vw;
		left: 13.21vw;
		margin: auto;
	}
	.philo_cur04 .philo_round {
		width: 40.71vw;
		height: 40.71vw;
		border-radius: 20.35vw;
	}
	.philo_slogan,.philo_navi {
		margin-left: 4%;
		margin-right: 4%;
	}
}


@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.env_kv{
		margin: 20px 0 50px;
		background: url(../img/csr/env_kv_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.soc_kv {
	    background-image: url(../img/csr/soc_title_sp.jpg);
	}
	.gov_kv {
	    background-image: url(../img/csr/gov_title_sp.jpg);
	}
	.np_kv {
	    background-image: url(../img/csr/bg_title_sp.jpg);
	}
	.kv_copy h1,
	.kv_copy h2{
		font-size: 1.4rem;
	}
	.kv_copy h1 span,
	.kv_copy h2 span{
		font-size: 0.9rem;
	}
	.philosophy {
		position: static;
	}
	.philo_h301{
		font-size: 1.43rem;
		margin-bottom: 20px;
	}
	.philo_round_oh{
		overflow: hidden;
		margin: 0 -4vw;
	}
	.env_cur01 .philo_round{
		width: 146vw;
		height: 146vw;
		margin:  0 -23vw;
		border-radius: 50%;
	}
	.env_cirs01{
		width: 29vw;
		height: 29vw;
		border-radius: 50%;
		left: -10vw;
		top: 200px;
	}
	.ui_fade_cir{
		z-index: -1;
	}
	.env_cirs02{
		width: 6vw;
		height: 6vw;
		border-radius: 50%;
		left: 8vw;
		top: 930px;
	}
	.env_cirs03{
		width: 22vw;
		height: 22vw;
		border-radius: 50%;
		left: 78vw;
		top: 880px;
	}
	.env_cirs04{
		width: 12vw;
		height: 12vw;
		border-radius: 50%;
		left: calc(50% + 100px);
		top: 930px;
	}
	.env_cirs05{
		width: 42vw;
		height: 42vw;
		border-radius: 50%;
		left: -12vw;
		top: 1310px;
		background: #eaf9ff;
	}
	.env_cirs06{
		width: 12vw;
		height: 12vw;
		border-radius: 50%;
		left: 82vw;
		top: 1330px;
		background: #e9f8ff;
	}
	.env_cirs07{
		width: 34vw;
		height: 34vw;
		border-radius: 50%;
		left: 70vw;
		top: 1540px;
		background: #eaf9ff;
	}
	.env_cirs08{
		width: 12vw;
		height: 12vw;
		border-radius: 50%;
		left: 4vw;
		top: 1640px;
		background: #edf9ff;
	}
	.env_cirs09{
		width: 6vw;
		height: 6vw;
		border-radius: 50%;
		left: 10vw;
		top: 1630px;
		background: #b7e9ff;
	}
	.env_cirs10{
		width: 30vw;
		height: 30vw;
		border-radius: 50%;
		left: -8vw;
		top: 1960px;
		background: #d2f0ff;
	}
	.env_cirs11{
		width: 18vw;
		height: 18vw;
		border-radius: 50%;
		left: 80vw;
		top: 2020px;
		background: #d2f0ff;
	}
	.ui_tit_m{
		font-size: 1.3rem;
	}
	.env_cur02{
		display: block;
	}
	.env_cur02 .philo_round{
		width: 80vw;
		height: 80vw;
		border-radius: 50%;
		margin: 0 auto 30px;
	}
	.htg_kv {
	    background-image: url(../img/csr/htg_title_sp.jpg);
	}
	.htg_lead{
		flex-direction: column-reverse;
	}
	.htg_lead_pic{
		width: 100%;
		margin-bottom: 40px;
	}
	.philo_cap{
		margin-bottom: 60px;
	}
	.ui_tips{
		flex-direction: column;
		padding: 30px 4vw;
	}
	.ui_tips_list{
		width: 100%;
	}
	.ui_tips_list li{
		flex-direction: column;
		padding-left: 0;
	}
	.ui_tips_list li>p{
		width: 100%;
	}
	.np_subject_wp{
		padding-bottom: 100px;
	}
	.np_btn_sdgs{
		position: relative;
		margin: 50px 0 100px;
	}
	.np_btn_sdgs img{
		width: 100%;
	}
	.np_btn_sdgs p{
		font-size: 1.25rem;
	}
	.np_cat_item{
		margin-bottom: 10px;
		flex-direction: column;
	}
	.np_cat_title{
		width: 100%;
		padding: 15px 0;
	}
	.np_cat_title h5{
		bottom: 0;
	}
	.np_cat_title a{
		width: 55px;
		height: 55px;
		border-radius: 50%;
		right: 15px;
		left: auto;
		padding: 10px 0;
		bottom: 10px;
	}
	.np_cat_title a::after{
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translateX(-50%) rotate(45deg);
		margin: 0;
	}
	.np_cat_info{
		width: 100%;
	}
	.np_cat_btn div{
		margin-top: 5px;
	}
	.np_cat_info li a{
		display: block;
		height: auto;
		padding: 10px 4vw 12px;
	}
	.np_cat_info li a::after{
		right: 4vw;
	}
	.act_kv{
		margin: 20px 0 50px;
		background: url(../img/csr/act_kv_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.act_wide_s{
		margin: 0 4vw;
	}
	.act_titbox img{
		max-width: 38px;
	}
	.act_model{
		flex-direction: column;
	}
	.act_titbox{
		margin-bottom: 20px;
	}
	.act_titbox h3{
		font-size: 1.7rem;
	}
	.act_titbox img{
		margin-bottom: 0;
	}
	.act_blue{
		padding: 60px 0 20px;
	}
	.act_white{
		padding: 60px 0 20px;
	}
	.act_pic{
		padding: 0 12vw;
		width: 100%;
		margin-bottom: 30px;
	}
	.act_text{
		width: 100%;
		padding: 0 4vw;
	}
	.act_text h4{
		font-size: 1.25rem;
		line-height: 1.7rem;
		margin-right: -5px;
	}
	.comp_bluebg{
		padding-top: 30px;
	}
	.comp_bluebg .secu_whitebg{
		padding-bottom: 20px;
	}
	
	
	
	.philo_bot_box .ui_wide_xs{
		width: auto;
	}
	.philo_con{
		overflow: hidden;
	}
	.ui_wide.ui_wide_100{
		width: 100%;
		margin: 0;
	}
	.philo_cur01{
		margin-left: -15%;
		margin-right: -15%;
		position: relative;
		padding-bottom: 130%;
	}
	.philo_cur01 .philo_round{
		position: absolute;
		width: 100%;
		height: 100%;
		border-radius: 50%;
	}
	.philo_cur02{
		margin-top: 70px;
		margin-right: -10%;
	}
	.philo_cur02 .philo_round {
		width: 350px;
		height: 350px;
		border-radius: 175px;
	}
	.philo_cur03 {
		margin-left: -12%;
		margin-top: -750px;
	}
	.philo_cur03 .philo_round {
		width: 350px;
		height: 350px;
		border-radius: 175px;
	}
	.philo_cur04 {
		margin-top: 70px;
		margin-left: -16%;
		margin-right: -16%;
	}
	.philo_cur04 .philo_round {
		width: 550px;
		height: 550px;
		border-radius: 275px;
	}
	.philo_cirs01 {
		width: 50px;
		height: 50px;
		border-radius: 25px;
		top: 1330px;
		left: 15%;
		background: #c1ecff;
	}
	.philo_cirs02{
		left: -17%;
		top: 910px;
		width: 144px;
		height: 144px;
		border-radius: 72px;
		background: rgba(204,238,255,0.7);
	}
	.philo_cirs03{
		left: 75%;
		top: 920px;
		width: 24px;
		height: 24px;
		border-radius: 12px;
		background: rgba(129,213,252,0.7);
	}
	.philo_cirs05{
		display: none;
		left: 0;
		top: 1420px;
		margin-left: -8%;
		width: 112px;
		height: 112px;
		border-radius: 56px;
		background: rgba(178,231,255,0.7);
	}
	.philo_cirs06 {
		top: 1780px;
		left: 20%;
		width: 56px;
		height: 56px;
		border-radius: 28px;
		background: rgba(178,231,255,0.8);
	}
	.philo_bot_box{
		padding: 40px 0;
	}
	.philo_slogan h3{
		font-size: 1.25rem;
	}
	.philo_slo_tit{
		font-size: 1.35rem;
		line-height: 2.1rem;
	}
	.brand_title{
		font-size: 1.5rem;
	}
	.brand_title_ac{
		justify-content: center;
	}
	.philo_kv{
		margin: 20px 0 50px;
	}
	.philo_cur04 .philo_h401 {
	  margin-bottom: 20px;
	}
	.ui_pb01{
		padding-bottom: 120px;
	}
	.philo_bot_box .ui_white{
		padding: 30px 0;
	}
	.philo_img01{
		width: 50%;
	}
	.philo_bot_box{
		margin-bottom: 50px;
	}
	.np_cat_info li a strong{
		line-height: 1.3;
	}
	.np_cat_hascir::before{
		top: 5px;
	}
	.np_cat_note{
		margin: 15px 0 30px;
	}
	.brand_slo_tit{
		margin: -15px 0 -10px;
		font-size: 1.25rem;
		line-height: 1.5;
	}
}

.mid_table{
	margin-bottom: 10px;
	text-align: center;
}
.pub_box{
	margin-bottom: 60px;
    padding: 40px 50px 60px;
	background: #f3fbff;
}
.csr_wide{
	max-width: 1050px;
}
.csr_news{
	background: none;
	border: 1px solid #4abcf2;
}
.cookie_box{
	position: fixed;
	z-index: 9;
	left: 0;
	bottom: 0;
	padding: 14px 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background: rgba(74,188,242,0.9);
	color: #fff;
	font-size: 0.93rem;
	line-height: 1.6;
	transition: 0.3s;
}
.cookie_box a{
	color: #fff;
}
.cookie_btn{
	margin-left: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 40px;
	border-radius: 20px;
	background: #fff;
	color: #4abcf2;
	cursor: pointer;
	transition: 0.3s;
}
.cookie_btn:hover{
	opacity: 0.7;
}
.cookie_close{
	opacity: 0;
	pointer-events: none;
}

@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.pub_box{
		margin-bottom: 30px;
		padding: 25px 4vw 30px;
	}
	.mid_table th,.mid_table td{
		font-size: 0.75rem;
	}
	.cookie_box{
		padding: 12px;
		flex-direction: column;
		font-size: 0.75rem;
		line-height: 1.7;
	}
	.cookie_btn{
		margin: 10px auto 0;
		padding-top: 2px;
		width: 100px;
		height: 30px;
		border-radius: 15px;
		font-size: 0.875rem;
	}
	
}

.sitemap_list a{
	text-decoration: none;
}
.sitemap_list a:hover{
	text-decoration: underline;
}
.sitemap_list h3{
	margin-bottom: 15px;
	margin-top: 35px;
	padding: 8px 5px;
	font-size: 1.15rem;
	border-bottom: solid 1px #d9d9d9;
}
.sitemap_list h3:first-child{
	margin-top: 0;
}
.sitemap_list ul{
	display: flex;
	flex-wrap: wrap;
	padding-left: 0.5em;
	font-size: 0.875rem;
}
.sitemap_list ul li{
	padding-bottom: 5px;
	width: 34.3%;
	margin-right: -1%;
}
.sitemap_list ul li>span{
	padding-right: 5px;
	color: #007ab4;
}
.sitemap_indent{
	display: inline-block;
	padding-left: 1.5em;
}
.sitemap_list ul li.sitemap_lead{
	margin-bottom: 5px;
	margin-top: 15px;
	width: 100%;
}
.sitemap_list ul li.sitemap_lead:first-of-type{
	margin-top: 10px;
}
.sitemap_list ul li.sitemap_lead a{
	display: inline-block;
	vertical-align: middle;
	font-size: 1rem;
	font-weight: bold;
}
.htg_kv,.np_kv,.company .page_bnr{
	text-shadow: 0 0 10px rgba(0,0,0,0.8);
}
@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.sitemap_list h3{
		margin: 20px 0 10px;
		font-size: 1rem;
	}
	.sitemap_list ul{
		font-size: 0.875rem;
	}
	.sitemap_list ul li{
		width: 100%;
	}
	.sitemap_list ul li.sitemap_lead:first-of-type{
		margin-top: 5px;
	}
	.ui_scroll{
		position: relative;
		overflow-x: scroll;
		width: 100%;
	}
	.table_scr_mark{
		position: sticky;
		left: 50%;
		top: 50%;
		width: 150px;
		height: 0;
		transition: 0.7s;
	}
	.table_scr_mark::after{
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 150px;
		background: url(/img/img_scroll.png) no-repeat;
		background-size: 100% 100%;
		transform: translateX(-50%) translateY(-50%);
	}
	.ui_scroll.is_on .table_scr_mark{
		opacity: 0;
	}
	
}


.ui_open{
	margin-bottom: 20px;
}
.ui_open_btn{
	position: relative;
	padding: 12px 53px 10px;
	background: #f3fbff;
	cursor: pointer;
	transition: 0.3s;
	font-size: 1.13rem;
	font-weight: bold;
	color: #00b5ff;
}
.ui_open_btn:hover{
	opacity: 0.6;
	transition: 0.3s;
}
.ui_open_btn::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #4abcf2;
	border-right: 2px solid #4abcf2;
	transform: translateY(-65%) rotate(135deg);
	transition: 0.4s;
}
.ui_open_close{
	margin: 25px auto 0;
	width: 80px;
	text-align: center;
	cursor: pointer;
	transition: 0.3s;
}
.ui_open_close:hover{
	opacity: 0.6;
	transition: 0.3s;
}
.ui_open_btn.is_on::after{
	transform: translateY(-35%) rotate(-45deg);
}
.ui_open_box{
	display: none;
}

.ui_sub_btn {
	margin: 140px auto 180px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.ui_sub_btn li{
	width: calc((100% - 60px)/3);
	margin-right: 30px;
	text-align: center;
	margin-bottom: 20px;
	transition: 0.3s;
}
.ui_sub_btn li:nth-child(3n+3){
	margin-right: 0;
}
.ui_sub_btn li a{
	text-decoration: none;
	color: #999;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	font-weight: bold;
	border: 1px #4abcf2 solid;
	border-radius: 55px;
	background: #fff;
}
.ui_sub_btn li a:hover,.ui_sub_btn li a.active{
	background: linear-gradient(130deg , #54c3f1 0% , #027fff 100%);
	color: #fff;
	opacity: 1;
}
.btn-doc {
    background:url(../img/common/ico_doc.svg) no-repeat center right 40px, linear-gradient(-40deg, rgba(17, 139, 252, 0.85) 0%, rgba(78, 191, 242, 0.85) 90%);
    border-radius: 80px;
    color: white;
    font-weight: bold;
    padding: 40px 81px;
    text-decoration: none;
    display: inline-block;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
	.btn-doc {
		font-weight: bold;
		font-size: 0.875rem;
		padding: 20px 70px;
	}
}
/*subpage*/
.sub_bnr {
	margin-top: 40px;
    height: 300px;
	background-repeat: no-repeat;
	background-position: center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub_bnr p,.sub_bnr h1 {
    font-size: 30px;
    color: #fff;
    font-weight: bold;
	text-shadow: 0 0 15px rgba(0,0,0,0.9);
}
.sub_title_2{
	margin: 50px 0 15px;
}
.sub_title_2 h2{
	text-align: center;
	font-size: 1.875rem;
	font-weight: bold;
	color: #4abcf2;
}
.cir_wrap{
	overflow: hidden;
}
@media screen and (min-width:1200px) { /*PC*/
	.page_404 .ui_section{
		min-height: calc(100vh - 410px);
		padding-top: 80px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
}
@media only screen and (min-width: 0) and (max-width: 767px) { /*SP*/
	.ui_sub_btn{
		margin: 80px 0 80px;
	}
	.ui_sub_btn li{
		width: 100%;
		margin-right: 0;
	}
	.ui_sub_btn li a{
		min-height: 75px;
		font-size: 0.9rem;
	}
	.sub_bnr p,.sub_bnr h1{
		font-size: 1.45rem;
		text-shadow: 0 0 12px rgba(66,104,120,0.5);
	}
	.sub_title_2 h2{
		font-size: 1.25rem;
	}
	.page_404 .ui_section{
		padding-top: 60px;
		margin-left: -4vw;
		margin-right: -4vw;
		font-size: 0.8rem;
	}
	.page_404 .ui_font_xs{
		font-size: 0.65rem;
	}
}
.blue_bnr p,.blue_bnr h1{
	text-shadow: none;
}
.nitem_bnr{
	margin-top: 40px;
}
body .container{
	padding-top: 70px;
}


@media only screen and (min-width: 768px) and (max-width: 1199px) { /*PAD*/

}

@media only screen and (min-width: 0) and (max-width: 1160px) {
	.ui_menu_sp .pcNone{
		display: block !important;
	}
	.ui_menu .spNone{
		display: none !important;
	}
	.ui_menu_sp .pcNone .ui_btn{
		position: relative;
		padding: 10px 38px 10px 20px;
		display: block;
		line-height: 1;
	}
	.ui_menu_sp .pcNone .ui_btn::after{
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
		width: 13px;
		height: 13px;
		margin-left: 17px;
		background: url(/img/icon/icon_newwindow-white.png) no-repeat;
		background-size: contain;
	}
	.ui_menu_list>li>a>img{
		width: 13px;
		height: 13px;
		margin-bottom: 2px;
	}
}

/* 日本語　philosophy */
.brand .cir_wrap .ui_wide{
    position: relative;
    height: min(calc(1600 * var(--pc-vw-unit)), 1600px);
}
.brand .philosophy {
	height: auto;
	position: static;
}
.philosophy_kv{
	margin: 50px 0 70px;
	height: 540px;
	position: relative;
	background: url(../img/brand/brand_kv.jpg) no-repeat center center;
	background-size: cover;
}
.philosophy_kv h1{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: 1.875rem;
	text-align: center;
}
.philosophy_kv h1 span{
	display: block;
	font-size: 0.875rem;
}
.philosophy_h301{
	font-size: 2.5rem;
	text-align: center;
	color: #4abcf2;
	margin-bottom: 10px;
}
.philosophy_cap{
	margin-bottom: 70px;
	line-height: 2.1rem;
}
.philosophy_con{
	margin-bottom: 160px;
}
.philosophy_round{
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(94deg , rgba(102,198,245,0.85) 0% , rgba(61,164,251,0.85) 100%);
}
.philosophy_round p{
	font-weight: bold;
	margin-bottom: 6px;
}
.philosophy_round h4{
	font-size: 1.5rem;
	color: #fff;
	margin-bottom: 10px;
}
.philosophy_round span{
	font-size: 0.875rem;
	color: #fff;
}
[class *= "philosophy_cur"]{
	position: absolute;
}
.philosophy_cur01{
	top: min(calc(588 * var(--pc-vw-unit)), 588px);
    left: min(calc(675 * var(--pc-vw-unit)), 675px);
}
.philosophy_cur01 .philosophy_round{
	width: min(calc(627 * var(--pc-vw-unit)), 627px);
	height: min(calc(627 * var(--pc-vw-unit)), 627px);
	border-radius: 313px;
}
.philosophy_cur02{
	display: flex;
    justify-content: flex-start;
    top: min(calc(304 * var(--pc-vw-unit)),304px);
    left: min(calc(213 * var(--pc-vw-unit)),213px);
    margin-right: auto;
}
.philosophy_cur02 .philosophy_round{
	width: min(calc(500 * var(--pc-vw-unit)), 500px);
	height: min(calc(500 * var(--pc-vw-unit)), 500px);
	border-radius: 250px;
}
.philosophy_cur03{
    top: min(calc(1755 * var(--pc-vw-unit)),1755px);
    left: min(calc(230 * var(--pc-vw-unit)),230px);
}
.philosophy_cur03 .philosophy_round{
	width: min(calc(500 * var(--pc-vw-unit)), 500px);
	height: min(calc(500 * var(--pc-vw-unit)), 500px);
	border-radius: 250px;
}
.philosophy_cur04{
    top: min(calc(1274 * var(--pc-vw-unit)),1274px);
    left: min(calc(611 * var(--pc-vw-unit)),611px);
}
.philosophy_cur04 .philosophy_round{
	width: min(calc(580 * var(--pc-vw-unit)), 580px);
	height: min(calc(580 * var(--pc-vw-unit)), 580px);
	border-radius: 285px;
}
.philosophy_cur04 span{
	margin-bottom: 10px;
}
.philosophy_cur04 .philosophy_h401{
	font-size: min(calc(20 * var(--pc-vw-unit)), 20px);
}
.philosophy_cur04 .ui_btn_right.ui_btn-white {
	width: min(calc(250 * var(--pc-vw-unit)), 250px);
	height: min(calc(55 * var(--pc-vw-unit)), 55px);
	font-size: min(calc(16 * var(--pc-vw-unit)), 16px);
	font-weight: bold;
}
.philosophy_cur05{
	top: min(calc(908 * var(--pc-vw-unit)),908px);
    left: min(calc(135 * var(--pc-vw-unit)),135px);
}
.philosophy_cur05 .philosophy_round{
	width: min(calc(500 * var(--pc-vw-unit)), 500px);
	height: min(calc(500 * var(--pc-vw-unit)), 500px);
	border-radius: 313px;
}
.philosophy_cirs01{
	position: absolute;
	left: calc(50% - 810px);
	top: min(calc(216 * var(--pc-vw-unit)),216px);
	width: 266px;
	height: 266px;
	border-radius: 133px;
	background: #dbf3ff;
}
.philosophy_cirs02{
	position: absolute;
	top: min(calc(270 * var(--pc-vw-unit)),270px);
    left: min(calc(1000 * var(--pc-vw-unit)),1000px);
	width: min(calc(290 * var(--pc-vw-unit)), 290px);
	height: min(calc(290 * var(--pc-vw-unit)), 290px);
	border-radius: 205px;
	background: #c1ecff;
}
.philosophy_cirs03{
	position: absolute;
	top: min(calc(463 * var(--pc-vw-unit)),463px);
    left: min(calc(796 * var(--pc-vw-unit)),796px);
	width: 58px;
	height: 58px;
	border-radius: 29px;
	background: #83c1de;
}
.philosophy_cirs04{
	position: absolute;
	top: min(calc(759 * var(--pc-vw-unit)),759px);
    left: min(calc(116 * var(--pc-vw-unit)),116px);
	width: min(calc(114 * var(--pc-vw-unit)), 114px);
	height: min(calc(114 * var(--pc-vw-unit)), 114px);
	border-radius: 84px;
	background: #4ca2ca;
}
.philosophy_cirs05{
	position: absolute;
	top: min(calc(1247 * var(--pc-vw-unit)),1247px);
    left: min(calc(1183 * var(--pc-vw-unit)),1183px);
	width: min(calc(48.59 * var(--pc-vw-unit)), 48.59px);
	height: min(calc(48.59 * var(--pc-vw-unit)), 48.59px);
	border-radius: 25px;
	background: #57b8e5;
}
.philosophy_cirs06{
	position: absolute;
	top: min(calc(1283 * var(--pc-vw-unit)),1283px);
    left: min(calc(700 * var(--pc-vw-unit)),700px);
	width: min(calc(124.44 * var(--pc-vw-unit)), 124.44px);
	height: min(calc(124.44 * var(--pc-vw-unit)), 124.44px);
	border-radius: 66px;
	background: #81beda;
}
.philosophy_cirs07{
	position: absolute;
	top: min(calc(1480 * var(--pc-vw-unit)),1480px);
    left: min(calc(153 * var(--pc-vw-unit)),153px);
	width: min(calc(237.47  * var(--pc-vw-unit)), 237.47px);
	height: min(calc(237.47  * var(--pc-vw-unit)), 237.47px);
	border-radius: 166px;
	background: #cceeff;
}
.philosophy_cirs08{
	position: absolute;
	top: min(calc(1400 * var(--pc-vw-unit)),1400px);
    left: min(calc(-65 * var(--pc-vw-unit)),-65px);
	width: min(calc(120  * var(--pc-vw-unit)), 120px);
	height: min(calc(120  * var(--pc-vw-unit)), 120px);
	border-radius: 166px;
	background: #cceeff;
}
.philosophy_cirs09{
	position: absolute;
	top: min(calc(1270 * var(--pc-vw-unit)),1270px);
    left: min(calc(1067 * var(--pc-vw-unit)),1067px);
	width: min(calc(386  * var(--pc-vw-unit)), 386px);
	height: min(calc(386  * var(--pc-vw-unit)), 386px);
	border-radius: 200px;
	background: #e0f5ff;
}
.philosophy_bot_box{
	position: relative;
	padding: 70px 0;
	margin-bottom: 80px;
	background: url(../img/brand/brand_bg.png) center center;
	background-size: cover;
}
.philosophy_bot_box .ui_wide_xs{
	text-align: center;
}
.philosophy_slogan h3{
	color: #4abcf2;
	font-size: 1.5rem;
	margin-bottom: 30px;
}
.philosophy_slogan h3 span{
	display: block;
	font-size: 0.75rem;
	color: #1a1a1a;
}
.philosophy_slo_tit{
	font-size: 1.625rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.philosophy_slogan p{
	font-size: 0.875rem;
}
.philosophy_con .ui_fade_cir{
	transition: 1.5s ease;
}
.philosophy_wide .brand_title{
	margin-bottom: 35px;
	color: #4abcf2;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.4;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.philosophy_wide .brand_title span{
	margin: 0 30px;
}
.philosophy_round .philosophy_txt-sub {
	font-size: 16px;
	margin-bottom: 30px;
}
.philosophy_round .philosophy_txt-m {
	font-size: 14px;
	color: #ffffff;
}
.philosophy_round .philosophy_txt-s {
	font-size: 12px;
	color: #ffffff;
}
@media only screen and (min-width: 0) and (max-width: 767px) { /*SP 日本語　philosophy */
	.brand .cir_wrap {
		height: min(calc(4025* var(--sp-vw-unit)), 4025px);
	}
	.philosophy_round h4 {
		font-size: min(calc(48 * var(--sp-vw-unit)),48px);
	}
	.philosophy_h301{
		font-size: min(calc(46 * var(--sp-vw-unit)),46px);
		margin-bottom: min(calc(20 * var(--sp-vw-unit)),20px);
	}
	.philosophy_round .philosophy_txt-m {
		font-size: min(calc(28 * var(--sp-vw-unit)),28px);
	}
	.philosophy_round .philosophy_txt-s {
		font-size: min(calc(24 * var(--sp-vw-unit)),24px);
	}
	.philosophy_round span {
		font-size: min(calc(24 * var(--sp-vw-unit)),24px);
	}
	.philosophy_round .philosophy_txt-sub ,
	.philosophy_round p {
		font-size: min(calc(32 * var(--sp-vw-unit)),32px);
	}
	.philosophy_cap {
		font-size: min(calc(32 * var(--sp-vw-unit)),32px);
		line-height: 1.875;
	}
	.philosophy_round_oh{
		overflow: hidden;
		margin: 0 -4vw;
	}
	.philosophy_bot_box .ui_wide_xs{
		width: auto;
	}
	.philosophy_con{
		overflow: hidden;
	}
	.philosophy_cur01{
		top: min(calc(1779* var(--sp-vw-unit)), 1779px);
		left: 50%;
		transform: translateX(-50%);
	}
	.philosophy_cur01 .philosophy_round{
		width: min(calc(1150* var(--sp-vw-unit)), 1150px);
		height: min(calc(1150* var(--sp-vw-unit)), 1150px);
		border-radius: 600px;
	}
	.philosophy_cur02{
		top: min(calc(900 * var(--sp-vw-unit)),900px);
		left: calc(-97.78 * var(--sp-vw-unit))
	}
	.philosophy_cur02 .philosophy_round {
		width: min(calc(800 * var(--sp-vw-unit)),800px);
		height: min(calc(800 * var(--sp-vw-unit)),800px);
		border-radius: 400px;
	}
	.philosophy_cur03 {
		top: min(calc(5181 * var(--sp-vw-unit)),5181px);
		left: calc(-99.78 * var(--sp-vw-unit))
	}
	.philosophy_cur03 .philosophy_round {
		width: min(calc(700 * var(--sp-vw-unit)),700px);
		height: min(calc(700 * var(--sp-vw-unit)),700px);
		border-radius: 350px;
	}
	.philosophy_cur04 {
		top: min(calc(3927 * var(--sp-vw-unit)),3927px);
		left: 50%;
		transform: translateX(-50%);
	}
	.philosophy_cur04 .philosophy_round {
		width: min(calc(1150 * var(--sp-vw-unit)),1150px);
		height: min(calc(1150 * var(--sp-vw-unit)),1150px);
		border-radius: 600px;
	}
	.philosophy_cur05{
		top: min(calc(3028 * var(--sp-vw-unit)),3028px);
		left: calc(52.22 * var(--sp-vw-unit));
	}
	.philosophy_cur05 .philosophy_round{
		width: min(calc(800 * var(--sp-vw-unit)), 800px);
		height: min(calc(800 * var(--sp-vw-unit)), 800px);
		border-radius: 400px;
	}
	.philosophy_cur05 .philosophy_round h4 {
		font-size: min(calc(36 * var(--sp-vw-unit)),36px);
	}
	.philosophy_cirs01 {
		display: none;
	}
	.philosophy_cirs02{
		display: none;
	}
	.philosophy_cirs03{
		left: min(calc(562.63 * var(--sp-vw-unit)), 562.63px);
		top: min(calc(885 * var(--sp-vw-unit)), 885px);
		width: min(calc(58.38 * var(--sp-vw-unit)), 58.38px);
		height: min(calc(58.38 * var(--sp-vw-unit)), 58.38px);
		border-radius: 30px;
		background: rgba(129,213,252,.7);
	}
	.philosophy_cirs04 {
		display: none;
	}
	.philosophy_cirs05{
		display: none;
	}
	.philosophy_cirs06 {
		top: min(calc(1611 * var(--sp-vw-unit)),1611px);
		left: min(calc(606.69 * var(--sp-vw-unit)),606.69px);
		width: min(calc(168.16  * var(--sp-vw-unit)), 168.16px);
		height: min(calc(168.16  * var(--sp-vw-unit)), 168.16px);
		border-radius: 90px;
		background: rgba(204,238,255,.7);
	}
	.philosophy_cirs07 {
		top: min(calc(2958 * var(--sp-vw-unit)),2958px);
		left: min(calc(35.31 * var(--sp-vw-unit)),35.31px);
		width: min(calc(110.28  * var(--sp-vw-unit)), 110.28px);
		height: min(calc(110.28  * var(--sp-vw-unit)), 110.28px);
		border-radius: 60px;
		background:rgba(178,231,255,.8);
	}
	.philosophy_cirs08 {
		top: min(calc(2950 * var(--sp-vw-unit)),2950px);
		left: min(calc(50 * var(--sp-vw-unit)),50px);
		width: min(calc(88  * var(--sp-vw-unit)), 88px);
		height: min(calc(88  * var(--sp-vw-unit)), 88px);
		border-radius: 50px;
		background: rgba(178,231,255,.8);
	}
	.philosophy_cirs09 {
		top: min(calc(3730 * var(--sp-vw-unit)),3730px);
		left: min(calc(-20 * var(--sp-vw-unit)),-20px);
		width: min(calc(224.34  * var(--sp-vw-unit)), 224.34px);
		height: min(calc(224.34  * var(--sp-vw-unit)), 224.34px);
		border-radius: 120px;
		background:rgba(204,238,255,0.7);
	}
	.philosophy_cirs10 {
        position: absolute;
        top: min(calc(3850 * var(--sp-vw-unit)), 3850px);
        left: min(calc(600 * var(--sp-vw-unit)), 600px);
        width: min(calc(88 * var(--sp-vw-unit)), 88px);
        height: min(calc(88 * var(--sp-vw-unit)), 88px);
        border-radius: 120px;
        background: rgba(193, 236, 255, 1);
	}
	.philosophy_bot_box{
		padding: 40px 0;
	}
	.philosophy_slogan h3{
		font-size: 1.25rem;
	}
	.philosophy_wide .brand_title {
		font-size: 1.5rem;
	}
	.philosophy_slo_tit{
		font-size: 1.35rem;
		line-height: 2.1rem;
	}
	.philosophy_kv{
		margin: 20px 0 min(calc(100 * var(--sp-vw-unit)),100px);
	}
	.philosophy_cur04 .philosophy_h401 {
		font-size: min(calc(36 * var(--sp-vw-unit)),36px);
		margin-bottom: min(calc(62 * var(--sp-vw-unit)),62px);
	}
	.philosophy_cur04 .ui_btn_right.ui_btn-white {
		width: min(calc(420* var(--sp-vw-unit)), 420px);
		height: min(calc(79.44* var(--sp-vw-unit)), 79.44px);
		font-size: min(calc(24* var(--sp-vw-unit)), 24px);
		font-weight: bold;
	}
	.philosophy_bot_box .ui_white{
		padding: 30px 0;
	}
	.philosophy_img01{
		width: 50%;
	}
	.philosophy_bot_box{
		margin-bottom: 50px;
	}
}