@charset "UTF-8";

/* base styles */
html{
	font-size:62.5%;/* 10px */
}
body {
	background:transparent;
	min-width:1200px;	/* 横スクロールバーの発生する幅を指定 */
	padding:0;
	margin:0;
	color:#333333;
	font-size:14px;
	font-size:1.4rem;/* 15px */
	text-align:left;
	line-height:1.5;
	letter-spacing:0;
	word-wrap:break-word;
	-webkit-text-size-adjust:100%;
}
.sp{
	display:none;
}
/* Chromeのremバグ対策 */
body > header,
body > footer,
body > section,
body > article,
body > div{
	font-size:1.4rem;/* 15px */
}

/* a */
a:link {
	color:#333333;
	-webkit-tap-highlight-color:rgba(255,255,255,0.3);	/* スマートフォンサイトでタップした際の色の指定 */
	text-decoration:underline;
}
a:visited {
	color:#333333;
	text-decoration:underline;
}

a:hover {
	color:#333333;
	text-decoration:none;
}
a img,
input[type="image"],
input[type="submit"],
input[type="button"]{
	-moz-transition:opacity 0.2s linear 0s;
	-webkit-transition:opacity 0.2s linear 0s;
	-ms-transition:opacity 0.2s linear 0s;
	-o-transition:opacity 0.2s linear 0s;
	transition:opacity 0.2s linear 0s;
	cursor:pointer;
}
a img{
	background:rgba(255,255,255,0.01);
}
a:hover img,
input[type="image"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
	background-color:transparent;
	opacity:0.7;
	filter:alpha(opacity=70);
}
a:focus,
button:focus {
	outline:0;
}
a[href^="tel"]{
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    text-decoration: none;
    pointer-events: none;
}
/* margin paddingのクラス（任意で追加・削除） */
.pT30 {
	padding-top:30px!important;
}
.mT10 {
	margin-top:10px!important;
}
.mR0 {
	margin-right:0px!important;
}
.mR5 {
	margin-right:5px!important;
}
.mR10{
	margin-right:10px!important;
}
.mR20 {
	margin-right:20px!important;
}
.mR65 {
	margin-right:65px!important;
}
.mR83 {
	margin-right:83px!important;
}
.mR1em {
	margin-right:1em!important;
}
.mR2em {
	margin-right:2em!important;
}
.mB0{
	margin-bottom:0px!important;
}
.mB5 {
	margin-bottom:5px!important;
}
.mB10 {
	margin-bottom:10px!important;
}
.mB15 {
	margin-bottom:15px!important;
}
.mB20 {
	margin-bottom:20px!important;
}
.mB25 {
	margin-bottom:25px!important;
}
.mB30 {
	margin-bottom:30px!important;
}
.mB35 {
	margin-bottom:35px!important;
}
.mB40{
	margin-bottom:40px!important;
}
.mB45 {
	margin-bottom:45px!important;
}
.mB50 {
	margin-bottom:50px!important;
}
.mB55 {
	margin-bottom:55px!important;
}
.mB70 {
	margin-bottom:70px!important;
}
.mL10{
	margin-left:10px!important;
}
.mL25{
	margin-left:25px!important;
}

/* テキスト色（任意で追加・削除） */
.txtRed {
	color:#F40000!important;
}

/* テキスト書式（任意で追加・削除） */
.txt_c{
	text-align:center!important;
}
.txt_r{
	text-align:right!important;
}
.txt_ind{
	text-indent:-1em;
	padding-left:1em;
}
.txt_b{
	font-weight:bold;
}
*:has(> wbr){
    word-break: keep-all;
}
.txt_nowrap{
    white-space: nowrap!important;
}

/* float */
.c_b{
	clear:both;
}
.r{
	float:right;
}
.l{
	float:left;
}
.block{
	display: block;
}

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

/* form（任意で編集） */
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"]{
	width:100%;
	height:45px;
	padding: 8px;
	line-height:20px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	border: solid 1px #9fa0a0;
	background-color:#fff;
}
input[type="number"]{
	text-align:right;
	padding: 8px;
}
select{
	height:20px;
	line-height:20px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
textarea{
	height:200px;
	width:100%;
	padding: 8px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	border: solid 1px #9fa0a0;
	background-color:#fff;
	ime-mode:active;
}
.ime_a{
	ime-mode:active;
}
.ime_i{
	ime-mode:inactive;
}
.ime_d{
	ime-mode:disabled;
}
/* clearfix */
.cf:after ,
.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	font-size:0.1px;
	line-height:0;
	overflow:hidden;
	visibility:hidden;
}
.cf ,
.clearfix {
	display:inline-block;
}
/* Hides from IE-mac \*/
* html .cf ,
* html .clearfix {
	height:1%;
	overflow:visible;
}
.cf ,
.clearfix {
	display:block;
}
.cf:after,
header:after,
footer:after,
section:after,
article:after,
div:after,
ul:after,ol:after{
	content:"";
	display:block;
	clear:both;
}

/* プルダウンメニュー（必要の応じて追記） */
.pulldown{
	position:relative;
}
.pulldown ul{
	display:none;
	position:absolute;
	top:100%;
	left:0;
}
/* アコーディオンメニュー（必要の応じて追記） */
.accordion_close,.accordion_open{
	cursor:pointer;
	-webkit-tap-highlight-color:rgba(255,255,255,0.3);	/* スマートフォンサイトでタップした際の色の指定 */
}
.accordion_close{

}
.accordion_open{

}
/*エフェクト*/
@keyframes fade-in {
	0%{
		transform:translate(0,30px);
		opacity:0.0;
	}
	100%{
		transform:translate(0,0);
		opacity:1.0;
	}
}
@keyframes fade-in-left {
	0%{
		transform: translateX(-50px);
		opacity:0.0;
	}
	100%{
		transform: translateX(0);
		opacity:1.0;
	}
}
@keyframes fade-in-left2{
	0%{
		transform: translateX(-50px) skewY(-2deg);
		opacity:0.0;
	}
	100%{
		transform: translateX(0) skewY(-2deg);
		opacity:1.0;
	}
}
@keyframes fade-in-right {
	0%{
		transform: translateX(50px);
		opacity:0.0;
	}
	100%{
		transform: translateX(0);
		opacity:1.0;
	}
}
@keyframes fade-in-right2 {
	0%{
		transform: translateX(50px) skewY(-2deg);
		opacity:0.0;
	}
	100%{
		transform: translateX(0) skewY(-2deg);
		opacity:1.0;
	}
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(10px, 0);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes pgtop {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, -10px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
*[data-effect=fade]{
	transform:translate(0,50px);
	opacity:0.0;
}
*[data-effect=fade-left],
*[data-effect=fade-right],
*[data-effect=fade-left2],
*[data-effect=fade-right2]{
    opacity:0.0;
}
*[data-effect=fade].fade{
	animation:fade-in 1s ease 0.3s forwards;
}
*[data-effect=fade-left].fade-left{
    animation-name: fade-in-left;
    animation-duration: 1s;
    animation-timing-function: ease-out;
}
*[data-effect=fade-right].fade-right{
    animation-name: fade-in-right;
    animation-duration: 1s;
    animation-timing-function: ease-out;
}
*[data-effect=fade-left2].fade-left2{
    animation-name: fade-in-left2;
    animation-duration: 1s;
    animation-timing-function: ease-out;
}
*[data-effect=fade-right2].fade-right2{
    animation-name: fade-in-right2;
    animation-duration: 1s;
    animation-timing-function: ease-out;
}
.fade-left{
    transform: translateX(0);
    opacity:1.0;
}
.fade-right{
    transform: translateX(0);
    opacity:1.0;
}
.fade-left2{
    transform: translateX(0) skewY(-2deg);
    opacity:1.0;
}
.fade-right2{
    transform: translateX(0) skewY(-2deg);
    opacity:1.0;
}
.ff_b{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
}
/***------------
wrapper
------------***/
#wrapper{
    padding-top: 99px;
}
#wrapper.page-sub{
    padding-top: 80px;
}
/***------------
topimg
------------***/
#topimg{
    width: 100%;
    height: calc(100vh - 99px);
    overflow: hidden;
    position: relative;
}
#topimg .top-movie{
    width: 100%;
    height: 100%;
    overflow: hidden;
    line-height: 0;
}
#topimg .top-movie video{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    min-width: 1920px;
}
#topimg .topimg-bg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
#topimg:before,
#topimg:after,
#topimg .topimg-bg:before,
#topimg .topimg-bg2:before,
#topimg .topimg-bg2:after{
    content: "";
    position: absolute;
    top: 0;
    width: 150%;
    height: 100%;
    transform: skewX(-20deg);
    webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition-duration:1s;
    transition-timing-function: ease-out;
    background-color: rgba(1,71,169,0.3);
}
#topimg:after{
    background-color: rgba(1,71,169,0.2);
}
#topimg .topimg-bg:before{
    background-color: rgba(1,71,169,0.1);
}
#topimg .topimg-bg2:before,
#topimg .topimg-bg2:after{
    transform: skewX(20deg);
}
#topimg[data-effect=main-effect]:before,
#topimg[data-effect=main-effect]:after,
#topimg[data-effect=main-effect] .topimg-bg:before{
    left: 150%;
}
#topimg[data-effect=main-effect] .topimg-bg:after,
#topimg[data-effect=main-effect] .topimg-bg2:before,
#topimg[data-effect=main-effect] .topimg-bg2:after{
    left: -160%;
}
#topimg:after{
    transition-delay:.1s;
    background-color: rgba(1,71,169,0.15);
}
#topimg.main-effect:before{
    left: -130%;
}
#topimg.main-effect:after{
    left: -122%;
}
#topimg .topimg-bg:before{
    transition-delay:.2s;
    background-color: rgba(1,71,169,0.1);
}
#topimg.main-effect .topimg-bg:before{
    left: -114%;
}
#topimg.main-effect .topimg-bg:after{
    left: -140%;
}
#topimg .topimg-bg2:before{
    transition-duration:.8s;
    transition-delay:.8s;
    background-color: rgba(0,158,255,0.15);
}
#topimg .topimg-bg2:after{
    transition-duration:.8s;
    transition-delay:.9s;
    background-color: rgba(0,158,255,0.1);
}
#topimg.main-effect .topimg-bg2:before{
    left: -132%;
}
#topimg.main-effect .topimg-bg2:after{
    left: -124%;
}
/*ヘッダーかぶせる用*/
.sub-page .topimg-bg3,
.sub-page .topimg-bg4{
    display: none;
}
.topimg-bg3:after,
.topimg-bg4:before,
.topimg-bg4:after{
    content: "";
    position: absolute;
    top: 0;
    width: 150%;
    height: 100%;
    transform: skewX(-20deg);
    webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition-duration:1s;
    transition-timing-function: ease-out;
    background-color: rgba(1,71,169,0.2);
}
.topimg-bg3:after,
.topimg-bg4:before,
.topimg-bg4:after{
    transform: skewX(20deg);
}
.topimg-bg3:after{
    background-color: rgba(0,158,255,0.3);
}
.topimg-bg4:before{
    background-color: rgba(0,158,255,0.2);
}
.topimg-bg4:after{
    background-color: rgba(0,158,255,0.1);
}
.topimg-bg3{
    height: 100vh;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.topimg-bg3:after{
    transition-duration:.8s;
    transition-delay:.7s;
    background-color: rgba(0,158,255,0.2);
}
.topimg-bg3:after{
    left: -160%;
}
.main-effect.topimg-bg3:after{
    left: -140%;
}
.topimg-bg4{
    height: 100vh;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.topimg-bg4:before,
.topimg-bg4:after{
    left: -160%;
}
.topimg-bg4:before{
    transition-duration:.8s;
    transition-delay:.8s;
    background-color: rgba(0,158,255,0.15);
}
.topimg-bg4:after{
    transition-duration:.8s;
    transition-delay:.9s;
    background-color: rgba(0,158,255,0.1);
}
.main-effect.topimg-bg4:before{
    left: -132%;
}
.main-effect.topimg-bg4:after{
    left: -124%;
}


#topimg h2{
    transition-duration: .8s;
    transition-timing-function: ease-out;
    transition-delay:1.6s;
    opacity: 0;
    transform: translateX(-50px);
    width: 560px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 40px;
    left: 0;
    margin: auto;
    z-index: 1;
}
#topimg h2 span{
    display: block;
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    text-shadow: 1px 1px 5px #8c8c8c;
    margin-top: 15px;
    line-height: 1.7;
}
#topimg.main-effect h2{
    opacity: 1;
    transform: translateX(0);
}
/***------------
top-link
------------***/
#top-link{
    width: 760px;
    margin:-40px auto 0;
    position: relative;
    z-index: 1;
    background: #fff;
    box-shadow: 0px 20px 30px -20px rgba(0,0,0,0.2);
}
#top-link ul{
    display: flex;
    justify-content: space-between;
    padding-right: 80px;
    height: 80px;
    position: relative;
    box-sizing: border-box;
}
#top-link ul:after{
    content: none;
}
#top-link ul li{
    flex: 0 1 220px;
}
#top-link ul li a{
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    text-decoration: none;


    color: #999999;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 100;
    overflow: hidden;
    position: relative;
    transition: all ease-out .5s;
}
#top-link ul li a:after{
    content: "";
    background: rgba(0,158,255,0.08);
    width: 180px;
    height: 180px;
    border-radius: 50%;
    transform: scale(0);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: all ease-out .5s;
    z-index: 0;
}
#top-link ul li a:hover,
#top-link ul li a:hover strong{
    color: #009eff;
}
#top-link ul li a:hover:after{
    transform: scale(1.5);
}
#top-link ul li a:hover .svg_img path{
  color: #009eff;
  fill: currentColor;
}
#top-link ul li strong,
#top-link ul li span{
    position: relative;
    z-index:10;
}
#top-link ul li strong{
    flex: 0 1 36px;
    margin-right: 20px;
}
#top-link ul li span strong{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    display: block;
    line-height: 1;
    color: #333333;
    margin-bottom: 5px;
    margin-right: 0;
}
#top-link ul li:nth-child(2){
    flex: 0 1 240px;
    position: relative;
}
#top-link ul li:nth-child(2):before{
    content: "";
    border-left: dotted 1px #999999;
    height: 45px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 2;
}
#top-link ul li:nth-child(2):after{
    content: "";
    border-left: dotted 1px #999999;
    height: 45px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
}
#top-link ul li:nth-child(2) span img{
    width: 112px;
    margin-bottom: 0;
}
#top-link ul li.serch{
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    right: 0;
    background: #346cba;
    overflow: hidden;
}
#top-link ul li.serch img{
    width: 18px;
    position: relative;
    z-index: 1;
}
#top-link ul li.serch a:after{
    content: "";
    background: #009eff;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    transform: scale(0);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: all ease-out .3s;
}
#top-link ul li.serch a:hover:after{
    transform: scale(1.5);
}
/***------------
header
------------***/
#header{
    width: 100%;
    min-width: 1200px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    background: #0147a9;
}
#header .logo{
    width: 320px;
    padding: 26px 0 25px 25px;
    line-height: 0;
    position: relative;
    z-index: 10;
}
#header .logo img{
    width: 100%;
}
#header .header-nav-pc{
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    z-index: 10;
}
#header .header-nav-pc .sub-nav{
    display: flex;
    width: max-content;
    margin: 0 0 0 auto;
    justify-content: flex-end;
    margin-bottom: 10px;
    align-items: center;
    background: #346cba;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 0 0 0 5px;
}
/* ie */
_:-ms-input-placeholder,
:root #header .header-nav-pc .sub-nav{
    width: 360px;
}
#header.sub-page .header-nav-pc .sub-nav{
    display: none;
}
#header .header-nav-pc .sub-nav li{
    padding: 0 20px;
}
#header .header-nav-pc .sub-nav li a{
    display: flex;
    align-items: center;
    text-decoration: none;
    text-shadow: 1px 1px 5px #8c8c8c;
    color: #fff;
    transition: all ease .6s;
}
#header .header-nav-pc .sub-nav li a span{
    width: 15px;
    height: 15px;
    line-height: 0.5;
    margin-right: 5px
}
#header .header-nav-pc .sub-nav li a span .svg_img path{
    color: #fff;
    fill: currentColor;
}
#header .header-nav-pc .sub-nav li a:hover span .svg_img path{
    color: #fff;
    fill: currentColor;
}
#header .header-nav-pc .sub-nav li:first-child{
    border-right: dotted 1px #cccccc;
}
#header .header-nav-pc .sub-nav li:last-of-type{
    border-left: dotted 1px #cccccc;
    padding-right: 10px;
}
#header .header-nav-pc .sub-nav li:last-of-type a{
    background: url(../img/icon_serch-pc.png) no-repeat;
    width: 20px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}
#header .header-nav-pc .main-nav{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#header .header-nav-pc .main-nav > li{
    display: flex;
    align-items: center;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
}
#header.home-header:not(.sub-page) .main-nav > li{
    height: 48px;
}
#header .header-nav-pc .main-nav > li.sub-link{
    position: relative;
}
#header .header-nav-pc .main-nav > li p,
#header .header-nav-pc .main-nav > li a{
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    transition: all ease .6s;
}
#header .header-nav-pc .main-nav > li.sub-link p{
    cursor: default;
}
#header .header-nav-pc .main-nav > li.sub-link div{
    display: none;
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    background: #346CBA;
}
#header.home-header:not(.sub-page) .main-nav > li.sub-link div{
    top: 48px;
}
#header .header-nav-pc .main-nav > li.sub-link ul{
    min-width: 180px;
    width: intrinsic;
    width: -moz-max-content;
    width: -webkit-max-content;
    width: max-content;
    background: #346CBA;
    padding: 10px;
    box-sizing: border-box;
}
/* ie */
_:-ms-input-placeholder,
:root #header .header-nav-pc .main-nav > li.sub-link ul{
    min-width: 240px;
}
#header .header-nav-pc .main-nav > li.sub-link ul li{
    padding: 0;
}
#header .header-nav-pc .main-nav > li.sub-link ul li a{
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: none;
    transition: all ease .6s;
    padding: 5px 0 5px 15px;
    display: block;
}
#header .header-nav-pc .main-nav > li.sub-link ul li a:hover{
    opacity: .5;
}
#header .header-nav-pc .main-nav > li.sub-link ul li a:before {
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 9px;
    left: 0;
    transition: transform .6s ease;
}
#header .header-nav-pc .main-nav > li.sub-link ul li a:hover:before{
    transform: translateX(4px);
}

/*sub-page*/
#header.home-header.sub-page{
    transform: translateY(-100%);
}
#header.home-header.sub-page.is-show{
    transform: none;
    transition: transform .3s ease;
}
#header.home-header.sub-page.is-hide{
    transition: transform .3s ease;
}
#header.sub-page{
    height: 80px;
    position: fixed;
    z-index: 1000;
}
#header.sub-page:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/header_pc_bg.png) no-repeat;
    width: 366px;
    height: 80px;
}
#header.sub-page .logo{
	width:320px;
    padding: 14px 0 15px 25px;
}
#header.sub-page .header-nav-pc{
    display: flex;
    justify-content: flex-end;
}
#header:not(.sub-page) .header-nav-pc .sub-nav-second{
    display: none;
}
#header.sub-page .header-nav-pc .sub-nav-second{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 140px;
    margin-left: 20px;
    margin-right: 20px;
}
#header.sub-page .header-nav-pc .sub-nav-second:after{
    content: none;
}
#header.sub-page .header-nav-pc .sub-nav-second li{
    flex: 0 1 40px;
    width: 40px;
    height: 40px;
}
#header.sub-page .header-nav-pc .sub-nav-second li:not(:last-child){
    margin-right: 10px;
}
#header.sub-page .header-nav-pc .sub-nav-second li a{
    background: #346cba;
    border-radius: 50%;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
#header.sub-page .header-nav-pc .sub-nav-second li a img{
    width: 15px;
}
/***------------
global-nav
------------***/
#global-nav{
    display: none;
}
/***------------
google-serch
------------***/
.featherlight-serch{
    display: none;
}
.featherlight .featherlight-content{
    width: auto!important;
    padding-top: 50px!important;
}
.featherlight .featherlight-close-icon{
    font-size: 30px!important;
    font-size: 3.0rem!important;
    font-weight: bold;
}
@media screen and (min-width: 768px){
    #google-serch{
        position: absolute;
        right: 0;
        bottom: -66px;
        z-index: 1;
        padding: 8px;
        box-sizing: border-box;
        box-shadow: 0 0 3px rgba(0,0,0,.25);
        background: #eee;
    }
}
#google-serch input.serch-text{
    display: block;
    width: 630px;
    height: 50px;
    float: left;
    padding: 0 20px;
    box-sizing: border-box;
    font-size: 17px;
    font-size: 1.7rem;
}
#google-serch input.serch-btn{
    display: inline-block;
    width: 50px;
    height: 50px;
    border: none;
    background:url(../img/icon_serch.svg) no-repeat center,#346cba;
    background-size: 18px auto;
}
#google-serch input.serch-text:focus,
#google-serch input.serch-btn:focus{
    outline: none;
}
/***------------
contetnts
------------***/
#contents .title1,
#footer-contact .title1{
    font-size: 40px;
    font-size: 4.0rem;
    margin-bottom: 30px;
}
#contents .title1 span,
#footer-contact .title1 span{
    color: #346cba;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
}
#contents .title1 small,
#footer-contact .title1 small{
    color: #ababab;
    font-size: 14px;
    font-size: 1.4rem;

    font-weight: normal;
    margin-left: 10px;
}
#contents .title2{
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 500;
    padding: 20px 0 20px 30px;
    border-left: solid 2px #346cba;
    margin-bottom: 30px;
}
#contents .title3{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 30px;
}
#contents .title3 span{
    font-size: 13px;
    font-size: 1.3rem;
    color: #99b5dc;
    display: block;
    font-weight: normal;
}
#contents .btn1{
    background: #fff;
    box-shadow:0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#contents .btn1 a{
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 15px;
    box-sizing: border-box;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
}
#contents .btn1 a:after{
    content: "";
    background: url(../img/icon_arow.svg) no-repeat;
    background-size: cover;
    width: 17px;
    height: 6px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
#contents .btn1:hover{
    box-shadow:0 3px 10px 4px rgba(80,80,80, 0.25);
}
#contents .btn1:hover a:after{
    animation: sdb 1.8s infinite;
}
#contents .btn2{
    transition: all ease .3s;
}
#contents .btn2 a,
#contents .btn2 span{
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    box-sizing: border-box;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    text-align: right;
    padding-right: 15px;
    transition: all ease .3s;
}
#contents .btn2 a:before,
#contents .btn2 span:before{
    content: "";
    background: #333333;
    width: 50px;
    height: 1px;
    position: absolute;
    top: 0;
    right: 75px;
    bottom: 1px;
    margin: auto;
}
#contents .btn2 a:after,
#contents .btn2 span:after{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 3px;
    margin: auto;
}
#contents .btn2:hover a{
    color: #009eff;
}
#contents .btn2:hover a:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#contents .btn2:hover a:before{
    background: #009eff;
}
#contents .btn3{
    background: #346cba;
    transition: all ease .3s;
    width: 100%;
    margin: 0 auto;
}
#contents .btn3 a{
    color: #fff;
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 15px;
    box-sizing: border-box;
    letter-spacing: 0.1rem;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    position: relative;
}
#contents .btn3 a:before{
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    display: inline-block;
    margin-right: 10px;
}
#contents .btn3.back a{
    font-size: 22px;
    font-size: 2.2rem;
}
#contents .btn3.back a:before{
    transform: rotate(180deg);
    margin-right: 20px;
}
#contents .btn3:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#contents .btn4{
    background: #346cba;
    transition: all ease .3s;
    width: 100%;
    margin: 0 auto;
}
#contents .btn4 a{
    color: #fff;
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 15px 40px 15px 15px;
    box-sizing: border-box;
    letter-spacing: 0.1rem;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: left;
    text-decoration: none;
    position: relative;
}
#contents .btn4 a:after{
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 15px;

    bottom: 0;
    margin: auto;
}

#contents .btn4:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#contents .btn5{
    background: #346cba;
    transition: all ease .3s;
    width: 100%;
    margin: 0 auto;
}
#contents .btn5 a,
#contents .btn5 button{
    width: 100%;
    color: #fff;
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 15px;
    box-sizing: border-box;
    letter-spacing: 0.1rem;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    position: relative;
}
#contents .btn5 button{
    background: none;
}
#contents .btn5 a:after,
#contents .btn5 button:after{
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    display: inline-block;
    margin-left: 10px;
}
#contents .btn5:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#contents .btn6{
    background: #ccc;
    transition: all ease .3s;
    width: 100%;
    margin: 0 auto;
}
#contents .btn6 a{
    color: #333;
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 15px;
    box-sizing: border-box;
    letter-spacing: 0.1rem;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    position: relative;
}
#contents .btn6 a:before{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    display: inline-block;
    margin-right: 10px;
    transform: rotate(180deg);
}
#contents .btn6:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
/***------------
top
------------***/
#contents.top{
    width: 100%;
    padding: 0;
}
/*top-news*/
#top-news{
    width: 100%;
    overflow-x: hidden;
    overflow-y: visible;
    box-sizing: border-box;
    min-height: 470px;
    position: relative;
}
#top-news .topnews__pho{
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}
#top-news .newsFilter{
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
    border-bottom: solid 1px #c9c9c9;
    padding-bottom: 10px;
}
#top-news .newsFilter ul{
    display: flex;
}
#top-news .newsFilter li{
    box-sizing: border-box;
}
#top-news .newsFilter li:not(:last-child){
    margin-right: 20px;
}
#top-news .newsFilter li a{
    text-decoration: none;
    position: relative;
    font-weight: 500;
    transition: all ease .6s;
}
#top-news .newsFilter li a:hover,
#top-news .newsFilter li a.active{
    font-weight: bold;
    color: #346cba;
}
#top-news .newsFilter li a:before{
    content: "";
    width: 0;
    height: 1px;
    background: #346cba;
    position: absolute;
    left: 0;
    bottom: -12px;
    transition: all ease .6s;
}
#top-news .newsFilter li a.active:before,
#top-news .newsFilter li a:hover:before{
    width: 100%;
    transition: all ease .6s;
}
#top-news .newsList{
    box-sizing: border-box;
    margin-bottom: 30px;
}
#top-news .newsList li a{
    text-decoration: none;
}
#top-news .newsList li a:hover{
    color: #009eff;
    transition: all ease .6s;
}
#top-news .newsList li .day{
    float: left;
    width: 180px;
}
#top-news .newsList li span strong{
    border: solid 1px #ababab;
    box-sizing: border-box;
    color: #ababab;
    margin-left: 10px;
    padding: 0 5px;
    font-size: 11px;
    font-weight: normal;
    text-align: center;
}
#top-news .newsList li a:hover span strong{
    color: #009eff;
    border: solid 1px #009eff;
}
#top-news .newsList li .text{
    margin-bottom: 15px;
    display: table;
}
#top-news .topnews-box{
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: row-reverse;
    width: 1200px;
    margin: 0 auto;
}
#top-news .topnews-main{
    width: 560px;
    padding-top: 60px;
}
#top-news .topnews-main .btn2{
    width: 180px;
    margin: 0 0 0 auto;
}
#top-news .topnews-box #pick-up{
    padding-top: 60px;
    width: 580px;
    margin-left: 40px;
}
#top-news .topnews-box #pick-up .pick-up-main{
    box-shadow: 0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#top-news .topnews-box #pick-up .pick-up-main:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#top-news .topnews-box #pick-up .pick-up-main a{
    display: flex;
    justify-content: space-between;
    background: #fff;
    text-decoration: none;
}
#top-news .topnews-box #pick-up .pick-up-main .pho{
    flex: 0 1 300px;
    width: 300px;
}
#top-news .topnews-box #pick-up .pick-up-main .pho img{
    width: 100%;
}
#top-news .topnews-box #pick-up .pick-up-main .text{
    flex: 0 1 275px;
    width: 275px;
    padding: 20px 20px 50px;
    box-sizing: border-box;
    position: relative;
}
#top-news .topnews-box #pick-up .pick-up-main .text dl dt{
    margin-bottom: 15px;
}
#top-news .topnews-box #pick-up .pick-up-main .text dl dt span{
    color: #ababab;
    font-size: 11px;
    font-size: 1.1rem;
    border: solid 1px #ababab;
    padding: 1px 5px;
    margin-left: 15px;
}
#top-news .topnews-box #pick-up .pick-up-main .text dl dd{
    color: #666666;
    font-weight: bold;
}
#top-news .topnews-box #pick-up .pick-up-main .text .btn2{
    position: absolute;
    width: 235px;
    bottom: 20px;
}
#top-news .topnews-box #pick-up .pick-up-main:hover .text .btn2 span{
    color: #009eff;
}
#top-news .topnews-box #pick-up .pick-up-main:hover .text .btn2 span:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#top-news .topnews-box #pick-up .pick-up-main:hover .text .btn2 span:before{
    background: #009eff;
}
/*top-product*/
#top-product{
    background: #f0f0f0;
    transform: skewY(-2deg);
    padding: 80px 0;
    margin-top: -2px;
    box-sizing: border-box;
    margin-bottom: 60px;
}
#top-product .top-product-main{
    width: 1160px;
    margin: 0 auto;
    transform: skewY(2deg);
}
#top-product .top-product-main .top-product-slide{
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
#top-product .top-product-main .top-product-slide:after{
    content: none;
}
#top-product .top-product-main .top-product-slide .slide-list{
    flex: 0 1 374px;
    max-width: 374px;
    padding-bottom: 50px;
    box-sizing: border-box;
    position: relative;
    background: #fff;
    box-shadow: 0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#top-product .top-product-main .top-product-slide .slide-list a{
    text-decoration: none;
}
#top-product .top-product-main .top-product-slide .slide-list img{
    width: 100%;
}
#top-product .top-product-main .top-product-slide .slide-list .btn2{
    width: 100%;
    position: absolute;
    bottom: 30px;
    padding: 0 30px;
    box-sizing: border-box;
}
#top-product .top-product-main .top-product-slide .slide-list .btn2 span{
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    box-sizing: border-box;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    text-align: right;
    padding-right: 15px;
    transition: all ease .3s;
}
#top-product .top-product-main .top-product-slide .slide-list .btn2 span:before{
    content: "";
    background: #333333;
    width: 50px;
    height: 1px;
    position: absolute;
    top: 0;
    right: 75px;
    bottom: 1px;
    margin: auto;
}
#top-product .top-product-main .top-product-slide .slide-list .btn2 span:after{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;

    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 3px;
    margin: auto;
}
#top-product .top-product-main .top-product-slide .slide-list:hover{
    box-shadow:0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#top-product .top-product-main .top-product-slide .slide-list:hover .btn2 span{
    color: #009eff;
}
#top-product .top-product-main .top-product-slide .slide-list:hover span:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#top-product .top-product-main .top-product-slide .slide-list:hover span:before{
    background: #009eff;
}
#top-product .top-product-main .top-product-slide .slide-list .slide-list__pho{
    margin-bottom: 20px;
}
#top-product .top-product-main .top-product-slide .slide-list dl{
    padding: 10px 30px 0;
    box-sizing: border-box;
}
#top-product .top-product-main .top-product-slide .slide-list dl dd{
    line-height: 1.8;
}
#top-product .top-product-main .top-product-slide .slide-list dl dt{
    color: #333333;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 15px;
}
#top-product .btn-list{
    width: 1160px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: -100px;
}
#top-product .btn-list:after{
    content: none;
}
#top-product .btn-list .btn3{
    width: 575px;
}
/*top-concept*/
#top-concept{
    background:url(../img/top-concept_bg.jpg) no-repeat;
    background-size: cover;
    transform: skewY(-2deg);
    padding: 120px 0;
    margin-top: -2px;
    box-sizing: border-box;
}
#top-concept .top-concept-main{
    width: 1160px;
    margin: 0 auto;
    transform: skewY(2deg);
}
#top-concept .top-concept-main h2{
    position: relative;
    margin-bottom: 40px;
    width: 469px;
}
#top-concept .top-concept-main h2 img{
    width: 100%;
}

#top-concept .top-concept-main h2:after{
    content: "";
    background: url(../img/top-concept_title2.png) no-repeat;
    background-size: cover;
    width: 441px;
    height: 236px;
    position: absolute;
    top: -50px;


    right: -620px;
}
#top-concept .top-concept-main p{
    margin-bottom: 60px;
    line-height: 2.4;
}
#top-concept .top-concept-main ul{
    display: flex;
    justify-content: space-between;
}
#top-concept .top-concept-main ul:after{
    content: none;
}
#top-concept .top-concept-main ul li{
    flex: 0 1 365px;
    max-width: 365px;
    background: #fff;
    box-shadow:0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#top-concept .top-concept-main ul li a{
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none;
    position: relative;
}
#top-concept .top-concept-main ul li a strong{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 23px;
    font-size: 2.3rem;
    transition: all ease .3s;
}
#top-concept .top-concept-main ul li a small{
    color: #ababab;
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    transition: all ease .3s;
}
#top-concept .top-concept-main ul li a:after{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
#top-concept .top-concept-main ul li:hover{
    box-shadow:0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#top-concept .top-concept-main ul li:hover a:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#top-concept .top-concept-main ul li:hover a strong{
    color: #009eff;
}
#top-concept .top-concept-main ul li:hover a small{
    color: #009eff;
}
#top-concept .top-concept-main ul li a span{
    width: 100px;
    margin-right: 30px
}
#top-concept .top-concept-main ul li a span img{
    width: 100%;
}
/*life*/
#life{
    width: 1160px;
    padding: 80px 0;
    margin: 0 auto;
}
#life p.text{
    margin-bottom: 60px;
}
#life .life-main{
    display: flex;
    justify-content: space-between;
}
#life .life-main:after,
#life .life-main-list2:after{
    content: none;
}
#life .life-main-list1{
    flex: 0 1 575px;
    max-width: 575px;
}
#life .life-main-list1__link1{
    width: 100%;
    margin-bottom: 10px;
    position: relative;
}
#life .life-main-list1__link2{
    display: flex;
    justify-content: space-between;
}
#life .life-main-list1__link2:after{
    content: none;
}
#life .life-main-list1__link2 > div{
    flex: 0 1 282px;
    max-width: 282px;
    position: relative;
}
#life .life-main-list2{
    flex: 0 1 574px;
    max-width: 574px;
    display: flex;
    justify-content: space-between;
}
#life .life-main-list2__link1{
    flex: 0 1 282px;
    max-width: 282px;
    position: relative;
}
#life .life-main-list2__link2{
    flex: 0 1 282px;
    max-width: 282px;
}
#life .life-main-list2__link2 > div{
    position: relative;
}
#life .life-main-list2__link2 > div:first-child{
    margin-bottom: 10px;
}
#life .life-main .imgWrap{
        overflow: hidden;
		width: 100%;
		height: 100%;
		background: #000;
		cursor: pointer;
}
#life .life-main .imgWrap img{
    width: 100%;
    display: block;
    transition: all ease .5s;
}
#life .life-main-list1__link1:hover .imgWrap img,
#life .life-main-list1__link2 > div:hover .imgWrap img,
#life .life-main-list2__link1:hover .imgWrap img,
#life .life-main-list2__link2 > div:hover .imgWrap img{
    opacity: 0.6;
    transform: scale(1.2);
}
#life .life-main p{
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
#life .life-main p span{
    display: table;
    color: #fff;
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: bold;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 10px 0;
    box-sizing: border-box;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    margin: 0 auto;
}
/*top-recruit*/
#top-recruit{
    background: url(../img/top-recruit_bg.png) no-repeat top center;
    background-size: 100% 100%;
    padding: 140px 0;
    overflow: hidden;
}
#top-recruit .top-product-main{
    width: 1160px;
    margin: 0 auto;
}
#top-recruit .top-product-main dl.text{
    margin-bottom: 60px;
}
#top-recruit .top-product-main dl.text dt{
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background:url(../img/top-recruit_title.png) no-repeat;
    width: 548px;
    height: 59px;
    margin-bottom: 40px;
}
#top-recruit .top-product-main dl.text dd{
    line-height: 2;
}
#top-recruit .top-product-main p.text{
    margin-bottom: 40px;
}
#top-recruit .top-product-main .top-recruit-slide{
    width: 1180px;
    margin: 0 auto 30px -10px;
    position: relative;
    padding: 10px 0;
    box-sizing: border-box;
}
#top-recruit .top-product-main .slide-in{
    width: 570px;
    padding: 0 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
#top-recruit .top-product-main .slide-in a{
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    margin: 10px 0;
    box-shadow: 0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#top-recruit .top-product-main .slide-in a:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
    color: #009eff;
}
#top-recruit .top-product-main .slide-in a:after{
    content: none;
}
#top-recruit .top-product-main .slide-in .pho{
    flex: 0 1 260px;
    max-width: 260px;
}
#top-recruit .top-product-main .slide-in .pho img{
    width: 100%;
}
#top-recruit .top-product-main .slide-in .text{
    flex: 0 1 310px;
    max-width: 310px;
}
#top-recruit .top-product-main .slide-in .text dl{
    padding: 0 30px;
    box-sizing: border-box;
    display: block;
}
#top-recruit .top-product-main .slide-in .text dl dt{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 15px;
}
#top-recruit .top-product-main .slide-in .text dl dd{
    line-height: 1.8;
}

#top-recruit .top-product-main .top-recruit-slide .slick-prev{
    appearance: button;
    border-radius: 0;
    border: none;
    position: absolute;
    width: 70px;
    height: 70px;
    background: url(../img/icon_prev.png) no-repeat;
    background-size: cover;
    top: 0;
    left: -65px;
    bottom: 0;
    margin: auto;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    cursor: pointer;
    z-index: 10;
    transition: all ease .3s;
}
#top-recruit .top-product-main .top-recruit-slide .slick-next{
    appearance: button;
    border-radius: 0;
    border: none;
    position: absolute;
    width: 70px;
    height: 70px;
    background: url(../img/icon_next.png) no-repeat;
    background-size: cover;
    top: 0;
    right: -65px;
    bottom: 0;
    margin: auto;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    cursor: pointer;
    z-index: 10;
    transition: all ease .3s;
}
#top-recruit .top-product-main .top-recruit-slide .slick-prev:hover{
    background: url(../img/icon_prev_hover.png) no-repeat;
    background-size: cover;
}
#top-recruit .top-product-main .top-recruit-slide .slick-next:hover{
    background: url(../img/icon_next_hover.png) no-repeat;
    background-size: cover;
}
#top-recruit .top-product-main ul{
    display: flex;
    justify-content: space-between;
}
#top-recruit .top-product-main ul:after{
    content: none;
}
#top-recruit .top-product-main ul li{
    flex: 0 1 365px;
    max-width: 365px;
    background: #fff;
    box-shadow:0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#top-recruit .top-product-main ul li a{
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none;
    position: relative;
}
#top-recruit .top-product-main ul li a strong{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 23px;
    font-size: 2.3rem;
    transition: all ease .3s;
}
#top-recruit .top-product-main ul li a small{
    color: #ababab;
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    transition: all ease .3s;
}
#top-recruit .top-product-main ul li a:after{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
#top-recruit .top-product-main ul li:hover{
    box-shadow:0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#top-recruit .top-product-main ul li:hover a:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#top-recruit .top-product-main ul li:hover a strong{
    color: #009eff;
}
#top-recruit .top-product-main ul li:hover a small{
    color: #009eff;
}
#top-recruit .top-product-main ul li a span{
    width: 100px;
    margin-right: 30px
}
#top-recruit .top-product-main ul li a span img{
    width: 100%;
}
/*top-world*/
#top-world{
    width: 1180px;
    margin: 0 auto;
    padding: 70px 0;
    box-sizing: border-box;
}
#top-world .title1{
    text-align: center;
}
#top-world .title1 small{
    display: block;
}
#top-world .map{
    position: relative;
}
#top-world .map-text{
    position: absolute;
    display: table;
    width: auto;
    height: auto;
    right: 270px;
    bottom: 15px;
}
#top-world .map-text .map-title1,
#top-world .map-text .map-title2{
    position: relative;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #346cba;
    padding-left: 20px;
    box-sizing: border-box;
    margin-bottom: 15px;
}
#top-world .map-text .map-title1:before,
#top-world .map-text .map-title2:before{
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #346cba;
    position: absolute;
    top: 4px;
    left: 0;
    bottom: 0;
    margin: auto;
}
#top-world .map-text .map-title2{
    color: #009eff;
    margin-bottom: 10px;
}

#top-world .map-text .map-title2:before{
    background: rgba(0,158,255,0.5);
}
#top-world .map-text dl{
    width: 200px;
    padding-left: 20px;
    box-sizing: border-box;
}
#top-world .map-text dl dt{
    width: 95px;
    float: left;
}
#top-world .map-text dl dd{
    padding: 0 0 2px 100px;
    text-align: right;
}
#top-world .map-text dl dd.underline{
    border-bottom: solid 1px #4b4b4b;
    margin-bottom: 5px;
    padding-bottom: 5px;
}
/***------------
footer-contact
------------***/
#footer-contact{
    width: 100%;
    background: url(../img/footer-contact_bg.jpg) no-repeat center;
    background-size: cover;
    padding: 45px 0;
}
#footer-contact .title1{
    text-align: center;
    margin-bottom: 15px;
}
#footer-contact p{
    text-align: center;
    margin-bottom: 30px;
}
#footer-contact .btn1{
    width: 530px;
    margin: 0 auto;
    background: #fff;
    box-shadow:0 0 10px 2px rgba(80,80,80, 0.2);
    transition: all ease .3s;
}
#footer-contact .btn1 a{
    text-align: center;
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    padding: 15px;
    box-sizing: border-box;
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
}
#footer-contact .btn1 a:after{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    display: inline-block;
    margin-left: 20px;
}
#footer-contact .btn1:hover{
    box-shadow:0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#footer-contact .btn1:hover a{

    color: #0a50a1;
}
#footer-contact .btn1:hover a:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    background-size: cover;
    animation: sdb 1.8s infinite;
}
/***------------
footer
------------***/
#footer{
    width: 100%;
    position: relative;
}
#footer #page-top{
    width: 13px;
    height: 136px;
    position: absolute;
    right: 50px;
    top: -136px;
}
#footer #page-top a{
    display: block;
    background: url(../img/page-top.png) no-repeat;
    background-size: cover;
    width: 13px;
    height: 136px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    transition: all ease .3s;
    transform: translate(0, 0);
}
#footer #page-top a:hover{
    background: url(../img/page-top_hover.png) no-repeat;
    background-size: cover;
    transform: translate(0, -10px);
}
#footer .footer-wrapper{
    background: #0147A9;
    padding: 50px 0;
}
#footer .footer-box{
    width: 1035px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
#footer .footer-box:after{
    content: none;
}
#footer .footer-main dl{
    box-sizing: border-box;
    width: 280px;
    color: #fff;
    text-align: center;
}
#footer .footer-main dl dt{
    margin-bottom: 20px; 
}
#footer .footer-main dl dd p.tel{
    margin-top: 10px;  
}
#footer .footer-main dl dd a{
    color: #fff;
}
#footer .copy{
    font-size: 14px;
    font-size: 1.4rem;
    background: #346CBA;
    padding: 8px 0;
    color: rgba(255,255,255,0.7);
    text-align: center;
}
#footer .footer-nav{
    width: 690px;
    position: relative;
}
#footer .fotoer-nav-items1{
    display: flex;
    justify-content: space-between;
    color: #fff;
}
#footer .fotoer-nav-items1:after{
    content: none;   
}
#footer .fotoer-nav-list1--item .title{
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 10px;
}
#footer .fotoer-nav-list1--item .title small{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
}
#footer .fotoer-nav-items1 .fotoer-nav-list1--item:first-of-type{
    padding-bottom: 140px;
    box-sizing: border-box;
}
#footer .fotoer-nav-list1--se2 li:not(:last-of-type){
    margin-bottom: 8px;
}
#footer .fotoer-nav-list1--se2 li a{
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    padding-left: 15px;
    box-sizing: border-box;
    position: relative;
}
#footer .fotoer-nav-list1--se2 li a:before{
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 5px;
    left: 0;
}
#footer .fotoer-nav-items2{
    position: absolute;
    left: 0;
    bottom: 0;
}
#footer .fotoer-nav-items2 li:not(:last-of-type){
    margin-bottom: 8px;
}
#footer .fotoer-nav-items2 a{
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 10px;
}
#footer .fotoer-nav-items2 a small{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    margin-left: 10px;
}
/*top-main*/
#top-main{
    padding: 80px 0;
    box-sizing: border-box;
}
#top-main .top-main-main{
    width: 1160px;
    margin: 0 auto;
}
#top-main .top-main-text{
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 30px;
}
#top-main .top-main-main .top-main-items{
    display: flex;
    justify-content: space-between;
}
#top-main .top-main-main .top-main-items:after{
    content: none;
}
#top-main .top-main-main .top-main-items .top-main-item{
    flex: 0 1 374px;
    max-width: 374px;
    padding-bottom: 50px;
    box-sizing: border-box;
    position: relative;
    background: #fff;
    transition: all ease .3s;
}
#top-main .top-main-main .top-main-items .top-main-item a{
    text-decoration: none;
}
#top-main .top-main-main .top-main-items .top-main-item img{
    width: 100%;
}
#top-main .top-main-main .top-main-items .top-main-item .btn2{
    width: 100%;
    position: absolute;
    bottom: 30px;
    padding: 0 30px;
    box-sizing: border-box;
}
#top-main .top-main-main .top-main-items .top-main-item .btn2 span{
    display: block;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    box-sizing: border-box;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    text-align: right;
    padding-right: 15px;
    transition: all ease .3s;
}
#top-main .top-main-main .top-main-items .top-main-item .btn2 span:before{
    content: "";
    background: #333333;
    width: 50px;
    height: 1px;
    position: absolute;
    top: 0;
    right: 75px;
    bottom: 1px;
    margin: auto;
}
#top-main .top-main-main .top-main-items .top-main-item .btn2 span:after{
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 3px;
    margin: auto;
}
#top-main .top-main-main .top-main-items .top-main-item:hover{
    transform: translateY(-5px);
}
#top-main .top-main-main .top-main-items .top-main-item:hover .btn2 span{
    color: #009eff;
}
#top-main .top-main-main .top-main-items .top-main-item:hover span:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#top-main .top-main-main .top-main-items .top-main-item:hover span:before{
    background: #009eff;
}
#top-main .top-main-main .top-main-items .top-main-item .top-main-item__pho{
    margin-bottom: 20px;
}
#top-main .top-main-main .top-main-items .top-main-item dl{
    padding: 0 10px;
    box-sizing: border-box;
    margin-bottom: 30px;
}
#top-main .top-main-main .top-main-items .top-main-item dl dd{
    line-height: 1.8;
    color: #666;
}
#top-main .top-main-main .top-main-items .top-main-item dl dt{
    color: #333333;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 15px;
}
/*top-company*/
#top-company{
    width: 1160px;
    padding: 40px 0;
    box-sizing: border-box;
    margin: 0 auto 20px;
}
#top-company .top-company-main{
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
#top-company .top-company-main:after{
    content: none;
}
#top-company .top-company-main--item{
    width: 370px;
    transition: all ease .3s;
}
#top-company .top-company-main--item:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#top-company .top-company-main--item a{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
#top-company .top-company-main--item a:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-top: solid 50px #0147a9;
    border-right: solid 50px transparent;
    box-sizing: border-box;
    z-index: 1;
}
#top-company .top-company-main--item a p{
    color: #fff;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: bold;
	text-align: center;
    text-shadow: 0 0 10px #000;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    width: 100%;
    height: 100%;
    transition: all ease .3s;
}
#top-company .top-company-main--item a p small{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    text-align: center;
}
#top-company .top-company-main--item a p small strong{
    color: #009eff;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
}
#top-company .top-company-main--item a:hover p{
    color: #333333;
    text-shadow: 0 0 10px #fff;
}
#top-company .top-company-main--item a:hover img{
    opacity: 0.5;
}
#top-company .top-company-main--item a:hover .icon img{
    opacity: 1;
}
#top-company .top-company-main--item a .icon{
    position: absolute;
    right: 5px;
    bottom: 5px;
}
/*top-recruit追加要素*/
#top-recruit .top-recruit-title{
    font-size: 24px;
    font-size: 2.4rem;
    margin-bottom: 20px;

    padding: 5px 0 5px 20px;
    border-left: solid 2px #346cba;
}
#top-recruit .top-recruit-title small{
    color: #0147a9;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: normal;
    display: block;
}
#top-recruit .top-recruit-slide .sec1-items{
    width: 570px;
    position: relative;
    padding: 0 10px 10px;
}
#top-recruit .top-recruit-slide .pt2 .sec1-items:after {
    content: "";
    position: absolute;
    border-top: solid 15px transparent;
    border-left: solid 15px #009EFF;
    border-right: solid 15px transparent;
    border-bottom: solid 15px transparent;
    box-sizing: border-box;
    top: 45%;
    left: -25px;
    transform: translateY(-50%);
}
#top-recruit .top-recruit-slide .sec1-items h3{
    color: #fff;
    box-sizing: border-box;
    font-size: 16px;
    font-size: 1.6rem;
    display: flex;
    margin-bottom: 10px;
}
#top-recruit .top-recruit-slide .sec1-items h3 span{
    min-width: 100px;
    display: table;
    padding: 5px 8px;
    background: #009EFF;
    box-sizing: border-box;
    float: left;
    position: relative;
    text-align: center;
    margin-right: 15px;
    font-weight: normal;
}
#top-recruit .top-recruit-slide .sec1-items h3 span:after {
    content: "";
    display: block;
    background: #009EFF;
    width: 15px;
    height: 100%;
    transform: skewX(-20deg);
    position: absolute;
    top: 0;
    right: -6px;
}
#top-recruit .top-recruit-slide .sec1-items h3 strong{
    font-weight: normal;
    min-width: 100px;
    display: table;
    padding: 5px 8px;
    background: #346CBA;
    text-align: center;
    position: relative;
}
#top-recruit .top-recruit-slide .sec1-items h3 strong:after {
    content: "";
    display: block;
    background: #346CBA;
    width: 15px;
    height: 100%;
    transform: skewX(-20deg);
    position: absolute;
    top: 0;
    left: -7px;
}
#top-recruit .top-recruit-slide .sec1-items img{
    width: 100%;
}
#top-recruit .top-recruit-slide .sec1-items-main{
    box-shadow: 0 0 10px 2px rgba(80,80,80, 0.2);
}
#top-recruit .top-recruit-slide .sec1-items--pho{
    position: relative;
}
#top-recruit .top-recruit-slide .sec1-items--pho a{
    display: block;
    width: 100%;
    transition: all ease 0.5s;
    background: #fff;
}
#top-recruit .top-recruit-slide .sec1-items--pho p{
    position: absolute;
    right: 0;

    bottom: 0;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    background: rgba(0,0,0,0.6);
    padding: 10px 40px 10px 10px;
    box-sizing: border-box;
    transition: all ease 0.5s;
    font-weight: bold;
}
#top-recruit .top-recruit-slide .sec1-items--pho p:after{
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
#top-recruit .top-recruit-slide .sec1-items--pho a:hover{
    background: #fff;
}
#top-recruit .top-recruit-slide .sec1-items--pho a:hover p:after{
    animation: sdb 1.8s infinite;
}
#top-recruit .top-recruit-slide .sec1-items dl{
    padding: 25px;
    box-sizing: border-box;
    background: #fff;
}
#top-recruit .top-recruit-slide .sec1-items dl dt{
    color: #0147A9;
}
#top-recruit .top-recruit-slide .sec1-items dl dd:not(:last-of-type){
    margin-bottom: 8px;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho{
    overflow: hidden;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a.first-link{
    display: block;
    position: absolute;
    width: 60%;
    height: 100%;
    top: 0;
    left: -10%;
    transform: skewX(-25deg);
    transition: all ease 0.5s;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a.second-link{
    display: block;
    position: absolute;
    width: 60%;
    height: 100%;
    top: 0;
    right:-10%;
    transform: skewX(-25deg);
    transition: all ease 0.5s;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a span{
    display: block;
    transform: skewX(25deg);
    position: absolute;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    background: rgba(0,0,0,0.6);
    padding: 10px 40px 10px 10px;
    box-sizing: border-box;
    transition: all ease 0.5s;
    font-weight: bold;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a span:after{
    content: "";
    background: url(../img/icon_arow2_white.svg) no-repeat;
    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a{
    background: none;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a.first-link span{
    top: 0;
    left: 0;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a.second-link span{
    right: 0;
    bottom: 0;
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a:hover.first-link,
#top-recruit .top-recruit-slide .double .sec1-items--pho a:hover.second-link{
    background: rgba(255,255,255,0.45);
}
#top-recruit .top-recruit-slide .double .sec1-items--pho a:hover  span:after{
    animation: sdb 1.8s infinite;
}
#contents.top .top-bnr{
    position: relative;
}
#contents.top .top-bnr:before{
    content: "";
    width: 100%;
    height: 100%;
    background: #f2f2f2;
    position: absolute;
    top: 140px;
}
#contents.top .top-bnr-main{
    width: 1000px;
    margin:-140px auto 140px;
    position: relative;
    z-index: 1;
}
/***------------
main-img
------------***/
#main-img{
    position: relative;
    width: 100%;
    height: 200px;
    background: url(../img/main-img_bg01.jpg) no-repeat top center;
    background-size: cover;
}
#main-img.bg--type2{
    background: url(../img/main-img_bg02.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type3{
    background: url(../img/main-img_bg03.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type4{
    background: url(../img/main-img_bg04.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type5{
    background: url(../img/main-img_bg05.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type6{
    background: url(../img/main-img_bg06.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type7{
    background: url(../img/main-img_bg07.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type8{
    background: url(../img/main-img_bg08.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type9{
    background: url(../img/main-img_bg09.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type10{
    background: url(../img/main-img_bg10.jpg) no-repeat center;
    background-size: cover;
}
#main-img.bg--type_entrust{
    background: url(../img/main-img_bg_entrust.jpg) no-repeat center;
    background-size: cover;
}
/*
#main-img.bg--type2:after,
#main-img.bg--type3:after,
#main-img.bg--type4:after,
#main-img.bg--type5:after,
#main-img.bg--type6:after,
#main-img.bg--type7:after,
#main-img.bg--type8:after,
#main-img.bg--type9:after,
#main-img.bg--type10:after{
    content: none;
}
*/
#main-img:before{
    content: "";
    background: url(../img/header_pc_bg2.png) no-repeat;
    width: 366px;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
}
/*
#main-img:after{
    content: "";
    background: url(../img/header_pc_bg3.png) no-repeat;
    width: 366px;
    height: 200px;
    position: absolute;
    top: 0;
    right: 0;
}
*/
#main-img .main-img-title{
    color: #fff;
    width: 1000px;
    text-align: center;
    text-shadow: 0 0 10px rgba(0,0,0,.5);
    position: absolute;
    top: 40px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 100;
}
#main-img .main-img-title.single{
    top: 60px;
}
#main-img .main-img-title strong{
    font-size: 46px;
    font-size: 4.6rem;
    font-weight: bold;
    letter-spacing: 0.3rem;
}
#main-img .main-img-title small{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: normal;
    display: block;
}
#main-img .pankuzu{
    color: #fff;
    width: 1000px;
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    margin: auto;
    z-index: 100;
    text-shadow: 0 0 10px rgba(0,0,0,.5);
}
#main-img .pankuzu a{
    color: #fff;
}
/***------------
#contents
------------***/
#contents{
    padding: 50px 0 100px;
}
/***------------
ples-line
------------***/
#contents.ples-line{
    width: 1000px;
    margin: 0 auto;
}
#contents.ples-line p{
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 40px;
}
#contents.ples-line .ples-line-pho{
    margin-bottom: 40px;
}
/***------------
integrated
------------***/
#contents.integrated{
    width: 970px;
    margin: 0 auto;
}
#contents.integrated .integrated-main{
    margin-bottom: 45px;
}
#contents.integrated .integrated-main__title{
    color: #346cba;
    text-align: center;
    font-size: 32px;
    font-size: 3.2rem;
    margin-bottom: 10px;
}
#contents.integrated .integrated-main p{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}
#contents.integrated .integrated-list--item{
    background: #ededed;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    position: relative;
}
#contents.integrated .integrated-list--item:after {
    content: "";
    border-top: solid 20px #85a7d6;
    border-left: solid 20px transparent;
    border-right: solid 20px transparent;
    box-sizing: border-box;
    position: absolute;
    left: calc(50% - 20px);
    bottom: -12px;
    z-index: 1;
}
#contents.integrated .integrated-list--item:not(:last-of-type){
    margin-bottom: 3px;
}
#contents.integrated .integrated-list--item:last-of-type:before,
#contents.integrated .integrated-list--item:last-of-type:after{
    content: none;
}
#contents.integrated .integrated-list--item__pho{
    margin-right: 30px;
}
#contents.integrated .integrated-list--item dl{
    padding: 30px 0;
    box-sizing: border-box;
}
#contents.integrated .integrated-list--item dl dt{
    color: #0147a9;
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 15px;
}
#contents.integrated .integrated-list--item dl dt small{
    color: #739ad0;

    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    display: block;
}
/***------------
world
------------***/
#contents.world{
    width: 1000px;
    margin: 0 auto;
}
#contents.world .world-main{
    box-sizing: border-box;
    margin: 0 auto 80px;
}
#contents.world .world-main p{
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 40px;
}
#contents.world .world-main--info{
    width: 1040px;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
#contents.world .world-main--info:after{
    content: none;
}
#contents.world .world-main--sell{
    width: 660px;
}
#contents.world .world-main--sell__sec{
    width: 660px;
}
#contents.world .world-main--sell__sec h3{
    color: #0147a9;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
}
#contents.world .world-main--sell__sec h3 span{
    color: #505050;
    font-size: 15px;
    font-size: 1.5rem;
    float: right;
}
#contents.world .world-main--sell__sec table{
    width: 100%;
}
#contents.world .world-main--sell__sec table tr th{
    background: #c2d3ea;
    padding: 10px;
    font-weight: bold;
    text-align: center;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
}
#contents.world .world-main--sell__sec table tr td{
    background: #ebf0f8;
    padding: 10px;
    font-weight: 500;
    text-align: center;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
}
#contents.world .world-main--sell__sec table tr th:first-child,
#contents.world .world-main--sell__sec table tr td:first-child{

    text-align: left;
}
#contents.world .world-main--sell__sec table tr.bg_color1 td{
    background: #cccccc;
}
#contents.world .world-main--sell__sec table tr.bg_color2 td{
    background: #e6e6e6;
}
#contents.world .world-list{
    margin-bottom: 40px;
}
#contents.world .world-list > p{
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 40px;
}
#contents.world .world-list--items{
    display: flex;
    flex-flow: row wrap;
}
#contents.world .world-list--item{
    width: 235px;
    margin-bottom: 30px;
}
#contents.world .world-list--item:not(:nth-of-type(4n)){
    margin-right: 20px;
}
#contents.world .world-list--item__pho{
    margin-bottom: 10px;
}
#contents.world .world-list--item dl dt{
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #346cba;
    margin-bottom: 5px;
}
#contents.world .world-list--item dl dt small{
    color: #99b5dc;
    font-size: 14px;
    font-size: 1.4rem;
    margin-left: 5px;
}
#contents.world .world-list--item dl dd span{
    display: inline-block;
    width: 4.75em;
    color: #666;
}
#contents.world .world-list--item dl dd.head--6 span{
    width: 6.75em;
}
#contents.world .world-movie{
    margin: 0 auto;
}
#contents.world .world-movie-main{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
#contents.world .world-movie-main iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
/***------------
service
------------***/
#contents.service{
    width: 1000px;
    margin: 0 auto;
}
#contents.service .service-main{
    box-sizing: border-box;
    margin: 0 auto 80px;
}
#contents.service .service-main p{
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 40px;
}
#contents.service .service-main--items{
    margin-bottom: 80px;
}
#contents.service .service-main--item{
    display: flex;
    align-items: center;
    background: #fff;
    box-shadow: 0 0 10px 2px rgba(80,80,80, 0.2);
}
#contents.service .service-main--item:not(:last-of-type){
    margin-bottom: 50px;
}
#contents.service .service-main--item__text{
    padding: 20px 40px;
    display: flex;
    align-items: center;
}
#contents.service .service-main--item__text dl dt{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 15px;
}
#contents.service .service-main--item__text dl dt small{
    display: block;
    color: #99b5dc;
    font-size: 13px;
    font-size: 1.3rem;
}
#contents.service .service-main--item__text dl dd p{
    color: #666666;
    margin-bottom: 0;
}
#contents.service .service-main--item__text dl dd .btn4{
    width: 300px;
    margin: 30px auto 0 0;
}
#contents.service .service-main--item__text dl dd .btn4 a{
    padding: 10px 40px 10px 15px;
}
/***------------
works
------------***/
#contents.works{
    width: 1000px;
    margin: 0 auto;
}
#contents.works .works-main__text{
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 40px;
}
#contents.works .works-main__pho{
    margin-bottom: 30px;
}
#contents.works .works-main--info{
    background: #ebf0f8;
    padding: 50px 100px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
}
#contents.works .works-main--info:after{
    content: none;
}
#contents.works .works-main--info__total span{
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 500;
}
#contents.works .works-main--info__total strong{
    font-size: 30px;
    font-size: 3.0rem;
    font-weight: bold;
}
#contents.works .works-main--info__total small{
    display: block;
    font-size: 18px;
    font-size: 1.8rem;
    text-align: right;
    text-indent: .5em;
    padding-right: 12px;
}
#contents.works .works-main--info__sell{
    width: 550px;
    display: flex;
    justify-content: space-between;
}

#contents.works .works-main--info__sell:after{
    content: none;
}
#contents.works .works-main--info__sell ul{
    width: 250px;
}
#contents.works .works-main--info__sell ul li{
    padding: 15px 40px;
    border-bottom: solid 1px #ffffff;
    display: flex;
    justify-content: space-between;
}

#contents.works .works-main--info__sell ul li > span{
    color: #666666;
}
#contents.works .works-main--info__sell ul li:after{
    content: none;
}
#contents.works .works-main--info__sell ul li.sub{
    display: block;
    padding: 15px 40px 5px;
}
#contents.works .works-main--info__sell ul li.sub div{
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    border-bottom: solid 1px #ffffff;
    padding-bottom: 10px;
}
#contents.works .works-main--info__sell ul li.sub div span{
    color: #666666;
}
#contents.works .works-main--info__sell ul li.sub p{
    padding-left: 45px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    color: #333333;
}
#contents.works .works-main--info__sell ul li.sub p strong{
    font-weight: normal;
}
#contents.works .works-main--info__sell ul li.sub p span{
    color: #666666;
}
#contents.works .works-main--info__sell ul li.sub div:after,
#contents.works .works-main--info__sell ul li.sub p:after{
    content: none;
}
/***------------
press
------------***/
#contents.press{
    width: 1000px;
    margin: 0 auto;
}
#contents.press .press-sec{
    margin-bottom: 40px;
}
#contents.press .press-sec:last-of-type{
    margin-bottom: 0;
}
#contents.press .press-sec__text{
    margin-bottom: 35px;
    font-size: 15px;
    font-size: 1.5rem;
    color: #666666;
    line-height: 1.8;
}
#contents.press .press-sec.pt1{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 80px;
}
#contents.press .press-sec.pt1:after{
    content: none;
}
#contents.press .press-sec.pt1 section{
    flex: 0 0 490px;
}
#contents.press .press-sec.pt1 .press-movie{
    flex: 0 0 490px;
    border: solid 5px #e5f5ff;
    box-sizing: border-box;
    line-height: 0;
}
#contents.press .press-sec.pt1 .press-movie:after{
    content: none;
}
#contents.press .press-sec.pt1 .press-movie video{
    width: 100%;
}
#contents.press .press-sec-main{
    display: flex;
    justify-content: space-between;
}
#contents.press .press-sec-main:after{
    content: none;
}
#contents.press .press-sec-main .pho p{

    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    text-align: center;
    margin-top: 5px;
}
#contents.press .press-table1{
    flex: 0 0 512px;
}
#contents.press .press-table1-box{
    padding: 0 4px;
}
#contents.press .press-table1-box.highlight{
    padding: 4px;
    background: linear-gradient(30deg,#2870de,#44b8ff 25%,#44b8ff 50%,#0a25bc);
}
#contents.press .press-table1 table{
    width: 100%;
}
#contents.press .press-table1 th,
#contents.press .press-table1 td{
    padding: 11px 15px;
    border: solid 2px #fff;
    box-sizing: border-box;
    font-size: 1.5rem;
    line-height: calc(1em + 8px);
    vertical-align: middle;
}
#contents.press .press-table1 th{
    background: #ccdaee;
    color: #0147a9;
    font-weight: bold;
}
#contents.press .press-table1 td{
    background: #ebf0f8;
}
#contents.press .press-table1 .head th{
    padding: 6px 0;
    background: #0147a9;
    color: #fff;
    text-align: center;
}
#contents.press .press-table1 th:first-child{
    width: 127px;
}
#contents.press .press-table1 td:last-child(2){
    width: 174px;
}
#contents.press .press-table1-caption{
    padding: 7px 6px 0;
}
#contents.press .press-sec-items{
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
}
#contents.press .press-sec-items:after,
#contents.press .press-sec-item:after{
    content: none;
}
#contents.press .press-sec-item{
    width: 495px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    background: #ededed;

    padding: 20px;
    box-sizing: border-box;
}
#contents.press .press-sec-item dl{
    width: 260px;
}
#contents.press .press-sec-item dl dt{
    color: #0147a9;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
}
#contents.press .press-sec-item dl dd{
    color: #666666;

    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
}
/***------------
company
------------***/



#contents.company{
    width: 1160px;
    margin: 0 auto;
}
#contents.company .company-main{
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    flex-flow: row wrap;
}
#contents.company .company-main:after{
    content: none;
}
#contents.company .company-main--item{
    width: 370px;
    transition: all ease .3s;
    margin-bottom: 20px;
}
#contents.company .company-main--item:hover{
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#contents.company .company-main--item a{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
#contents.company .company-main--item a:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-top: solid 50px #0147a9;
    border-right: solid 50px transparent;
    box-sizing: border-box;
    z-index: 1;
}
#contents.company .company-main--item a p{
    color: #fff;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: bold;
    text-align: center;
    text-shadow: 0 0 10px #000;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    width: 100%;
    height: 100%;
    transition: all ease .3s;
}
#contents.company .company-main--item a p small{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    text-align: center;
}
#contents.company .company-main--item a p small strong{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    color: #009eff;
}
#contents.company .company-main--item a:hover p{
    color: #333333;
    text-shadow: 0 0 10px #fff;
}
#contents.company .company-main--item a:hover img{
    opacity: 0.5;
}
#contents.company .company-main--item a:hover .icon img{
    opacity: 1;
}
#contents.company .company-main--item a .icon{
    position: absolute;
    right: 5px;
    bottom: 5px;
}
/***------------
message
------------***/
#contents.message{
    width: 1000px;
    margin: 0 auto;
}
#contents.message .message-main__pho{
    margin-bottom: 40px;
}
#contents.message .message-main__text{
    width: 800px;
    margin: 0 auto 50px;
}
#contents.message .message-main__text p{
    font-size: 15px;
    font-size: 1.5rem;
    color: #666666;
    line-height: 1.8;
}
#contents.message .message-main__text p:not(:last-of-type){
    margin-bottom: 30px;
}
#contents.message .message-main__name{
    width: 800px;
    margin: 0 auto;
    text-align: right;
}
#contents.message .message-main__name p{
    color: #666666;
    margin-bottom: 15px;
}
/***------------
footer-link
------------***/
#footer-link{
    width: 100%;
    background: #f2f6fb;
    padding: 60px 0 40px;
    box-sizing: border-box;
}
#footer-link .footer-link--items{
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
}
#footer-link .footer-link--item{
    width: 320px;
    margin-bottom: 10px;
    transition: all ease .3s;
}
#footer-link .footer-link--item:hover {
    box-shadow: 0 3px 10px 4px rgba(80,80,80, 0.25);
    transform: translateY(-5px);
}
#footer-link .footer-link--item:not(:nth-of-type(3n)){
    margin-right: 20px;
}
#footer-link .footer-link--item a{
    display: flex;
    align-items: center;
    background: #fff;
    border:solid 1px #ababab;
    box-sizing: border-box;
    text-decoration: none;
}
#footer-link .footer-link--item img{
    flex-shrink: 0;
    width: 88px;
    height: auto;
}
#footer-link .footer-link--item a p{
    width: 100%;
    padding:0 20px 0 40px;
    position: relative;
}
#footer-link .footer-link--item a p:after {
    content: "";
    background: url(../img/icon_arow2.svg) no-repeat;

    background-size: cover;
    width: 10px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto;
}
#footer-link .footer-link--item a p strong{
    color: #333333;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 20px;
    font-size: 2.0rem;
}
#footer-link .footer-link--item a p span{
    color: #ababab;
    display: block;
}
/***------------
philosophy
------------***/
#contents.philosophy{
    width: 100%;
    margin: 0 auto;
    padding-top: 0;
}
#contents.philosophy .philosophy-main{
    text-align: center;
    background: #ebf0f8;
    position: relative;
    padding: 60px 0;
}
#contents.philosophy .philosophy-main__title{
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 40px;
    font-size: 4.0rem;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}
/*
#contents.philosophy .philosophy-main__title:before{
    content: "";
    background: url(../img/company/philosophy_title_bg.png) no-repeat;
    width: 169px;
    height: 99px;
    position: absolute;
    top: 15px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: -1;
}
*/
#contents.philosophy .philosophy-main__title span{
    color: #346cba;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
}
#contents.philosophy .philosophy-main p{
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
}
#contents.philosophy .philosophy-wrapper{
    width: 1000px;
    margin: 0 auto;
    padding-top: 60px;
}
#contents.philosophy .philosophy-sec:not(:last-child){
    margin-bottom: 80px;
}
#contents.philosophy .philosophy-sec--list{
    border: solid 1px #e6e6e6;
    padding: 55px 50px;
    box-sizing: border-box;
}
#contents.philosophy .philosophy-sec--list li{
    color: #666666;
    font-size: 16px;
    font-size: 1.6rem;
}
#contents.philosophy .philosophy-sec--list li:not(:last-of-type){
    margin-bottom: 10px;
}
#contents.philosophy .philosophy-sec--list li span{
    color: #346cba;
    font-weight: bold;
}
#contents.philosophy .philosophy-sec.pt1{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
#contents.philosophy .philosophy-sec.pt1:after{
    content: none;
}
#contents.philosophy .philosophy-sec.pt1 .text{
    width: 480px;
}
#contents.philosophy .philosophy-sec.pt1 .text p{
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
}
#contents.philosophy .philosophy-sec--logo{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#contents.philosophy .philosophy-sec--logo:after{
    content: none;
}
#contents.philosophy .philosophy-sec--logo p{
    width: 740px;
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
}
/***------------
profile
------------***/
#contents.profile{
    width: 1000px;
    margin: 0 auto;
}
#contents.profile table{
    width: 100%;
    border-top: solid 1px #cccccc;
}
#contents.profile table tr{
    border-bottom: solid 1px #cccccc;
}
#contents.profile table tr th{
    font-weight: bold;
    padding: 25px 0 25px 40px;
    text-align: left;
    width: 190px;
}
#contents.profile table tr td{
    color: #666;
    padding: 25px 20px;
    line-height: 1.8;
}
#contents.profile table tr td .map-link{
    margin-left: 8px;
}
#contents.profile table tr td .map-link img{
    width: 44px;
}
#contents.profile table tr td .link{
    position: relative;
    padding-left: 15px;
    margin-top: 5px;
}
#contents.profile table tr td .link:before{
    content: "";
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    background-size: cover;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 5px;
    left: 0;
}
#contents.profile table tr td .link a{
    color: #346cba;
}
#contents.profile table tr td .name{
    display: inline-block;
    width: 90px;
    font-weight: bold;
}
#contents.profile section{
    margin-top: 60px;
}
/***------------
history
------------***/
#contents.history{
    width: 1000px;
    margin: 0 auto;

    padding-top: 60px;
}
#contents.history .history-main{
    border-top: solid 1px #cccccc;
}
#contents.history .history-main table{
    width: 100%;
    border-bottom: solid 1px #cccccc;
}
#contents.history .history-main table tr:first-child th,
#contents.history .history-main table tr:first-child td{
    padding-top: 40px;

}
#contents.history .history-main table tr:last-child th,
#contents.history .history-main table tr:last-child td{
    padding-bottom: 40px;
}
#contents.history .history-main table tr th{
    padding: 20px 40px;
    text-align: left;
    width: 100px;
}
#contents.history .history-main table tr td{
    color: #4b4b4b;
    line-height: 1.8;
    padding: 20px 40px;
}
#contents.history .history-main table tr td .pho{
    margin-top: 10px;
}
/***------------
network
------------***/
#contents.network{
    width: 1000px;
    margin: 0 auto;
}
#contents.network .network-map{
    margin-bottom: 30px;
}
#contents.network section:not(:last-of-type){
    margin-bottom: 80px;
}
#contents.network table{
    width: 100%;
    border-top: solid 1px #cccccc;
}
#contents.network table tr{
    border-bottom: solid 1px #cccccc;
}
#contents.network table tr th{
    font-weight: bold;
    padding: 25px 0 25px 40px;
    text-align: left;
    width: 190px;
}
#contents.network table tr td{
    color: #666;
    padding: 25px 20px;
    line-height: 1.8;
}
#contents.network table tr td .map-link{
    margin-left: 8px;
}
#contents.network table tr td .map-link img{
    width: 44px;
}
#contents.network table tr td .access{
    margin-top: 10px;
    background: #f0f9ff;
    padding: 15px;
    box-sizing: border-box;
}
#contents.network table tr td .access dt{
    color: #009eff;
    font-weight: bold;
    margin-bottom: 5px;
}
#contents.network table tr.map-in1{
    border-bottom: none;
}
#contents.network table tr.map-in1 th,
#contents.network table tr.map-in1 td{
    padding-bottom: 10px;
}
#contents.network table tr td .map-img{
    margin-top: 20px;
    margin-left: 60px;
}
/***------------
news-detail
------------***/
#contents.news-detail{
    width: 1000px;
    margin: 0 auto;
}
#contents.news-detail .news-detail-title{
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 500;
    padding: 10px 0 10px 30px;
    box-sizing: border-box;
    border-left: solid 2px #346cba;
    margin-bottom: 50px;
}
#contents.news-detail .news-detail-title small{
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
    color: #346cba;
    margin-bottom: 3px;
}
#contents.news-detail .news-detail-title small span{
    font-size: 12px;
    font-size: 1.2rem;
    padding: 1px 5px;
    border: solid 1px #346cba;
    box-sizing: border-box;
    margin-right: 10px;
    line-height: 1;
}
#contents.news-detail .news-detail-title small span a{
    font-size: 12px;
    font-size: 1.2rem;
    text-decoration: none;
    line-height: 1;
}
/* エディタ用 */
#contents.news-detail .news-detail-main h1{
    margin-bottom: 20px;
    font-size: 2.6rem;
    font-weight: bold;
}
#contents.news-detail .news-detail-main h2{
    margin-bottom: 17px;
    font-size: 2.4rem;
    font-weight: bold;
}
#contents.news-detail .news-detail-main h3{
    margin-bottom: 14px;
    font-size: 2.2rem;
    font-weight: bold;
}
#contents.news-detail .news-detail-main h4{
    margin-bottom: 11px;
    font-size: 2.0rem;
    font-weight: bold;
}
#contents.news-detail .news-detail-main h5{
    margin-bottom: 8px;
    font-size: 1.8rem;
    font-weight: bold;
}
#contents.news-detail .news-detail-main h6{
    margin-bottom: 5px;
    font-size: 1.6rem;
    font-weight: bold;
}
#contents.news-detail .news-detail-main p{
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
#contents.news-detail .news-detail-main p:empty{
    height: 1em;
}
#contents.news-detail .news-detail-main strong{
    font-weight: bold;
}
#contents.news-detail .news-detail-main i{
    font-style: italic;
}
#contents.news-detail .news-detail-main blockquote p{
    quotes: "“" "”" "‘" "’";
}
#contents.news-detail .news-detail-main blockquote p:before{
    content: open-quote;
}
#contents.news-detail .news-detail-main blockquote p:after{
    content: close-quote;
}
#contents.news-detail .news-detail-main hr{
    margin: 30px 0;
}
#contents.news-detail .news-detail-main ul,
#contents.news-detail .news-detail-main ol{
    margin: 20px 0;
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
#contents.news-detail .news-detail-main li:not(:last-child){
    margin-bottom: 5px;
}
#contents.news-detail .news-detail-main ul li{
    position: relative;
    padding-left: calc(1em + 3px);
}
#contents.news-detail .news-detail-main ul li:before{
    position: absolute;
    top: 0;
    left: 0;
    color: #99b5dc;
    font-size: calc(1em - 4px);
    line-height: calc(1em + 16px);
    content: "●";
}
_:-ms-input-placeholder,
:root #contents.news-detail .news-detail-main ul li:before{
    /* ie */
    line-height: 27px;
}
#contents.news-detail .news-detail-main ol li{
    position: relative;
    padding-left: calc(1em + 3px);
    counter-increment: list-num;
}
#contents.news-detail .news-detail-main ol li:before{
    position: absolute;
    top: 0;
    left: 0;
    color: #346cba;
    font-weight: bold;
    content: counter(list-num)".";
}
_:-ms-input-placeholder,
:root #contents.news-detail .news-detail-main ol li:before{
    /* ie */
    line-height: 27px;
}
#contents.news-detail .news-detail-main img{
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 30px 0;
}
#contents.news-detail .news-detail-main table{
    max-width: 100%;
    margin: 30px 0;
}
#contents.news-detail .news-detail-main table th,
#contents.news-detail .news-detail-main table td{
    padding: 10px;
    border: solid 1px #ccc;
}
/* layout1 */
#contents.news-detail .news-detail-main .layout1{
    color: #666666;
    font-size: 15px;
    font-size: 1.5rem;
}
#contents.news-detail .news-detail-main .layout1 img{
    max-width: 1000px;
    margin-bottom: 50px;
}
#contents.news-detail .news-detail-main .layout1 p{
    margin-bottom: 40px;
    line-height: 2;
}
#contents.news-detail .news-detail-main .layout1 dl dt{
    color: #333333;
    font-weight: bold;
    margin-bottom: 8px;
}
#contents.news-detail .news-detail-main .layout1 dl dd{
    margin-bottom: 30px;
    padding-left: 1.5rem;
    display: block;
}
/* 関連リンク */
#contents.news-detail .news-information{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 100px;
    padding: 60px;
    box-sizing: border-box;
    border: solid 1px #666666;
    position: relative;
}
#contents.news-detail .news-information:before{
    content: "";
    background: #333333;
    width: 1px;
    height: 60px;
    position: absolute;
    top: -30px;
    right: 0;
    left: 0;
    margin: auto;
}
#contents.news-detail .news-information:after{
    content: none;
}
#contents.news-detail .news-information h3{
    color: #333333;
    letter-spacing: 0.5rem;
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}
#contents.news-detail .news-information__link{
    max-width: 100%;
}
#contents.news-detail .news-information__link > div:not(:last-of-type){
    margin-bottom: 20px;
}
#contents.news-detail .news-information__link > div a{
    font-size: 16px;
    font-size: 1.6rem;

    display: block;
    padding-left: 45px;
    position: relative;
}
#contents.news-detail .news-information__link > div.pdf a:before{
    content: "";
    background: url(../img/icon_pdf.png) no-repeat;
    background-size: cover;
    width: 31px;
    height: 31px;
    position: absolute;
    top: 0;
    left: 0;
}
#contents.news-detail .news-information__link > div.link a:before{
    content: "";
    background: url(../img/icon_link.png) no-repeat;
    background-size: cover;
    width: 31px;
    height: 21px;
    position: absolute;
    top: 4px;
    left: 0;
}

/***------------
privacy
------------***/
#contents.privacy{
    width: 1000px;
    margin: 0 auto;
}
#contents.privacy .privacy-head{
    margin-bottom: 75px;
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
}
#contents.privacy .privacy-section:not(:last-child){
    margin-bottom: 75px;
}
#contents.privacy .privacy-num-block:not(:last-child){
    margin-bottom: 35px;
}
#contents.privacy .privacy-num-block-title{
    position: relative;
    margin-bottom: 15px;
    padding: 0 0 10px 32px;
    border-bottom: solid 1px #ccc;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 6px);
}
#contents.privacy .privacy-num-block-title .num{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: calc((.9rem + 3px) - 12px);
    left: 0;
    width: 24px;
    height: 24px;
    background: #0147a9;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
}
#contents.privacy .privacy-num-list:not(:last-child){
    margin-bottom: 15px;
}
#contents.privacy .privacy-num-list-item{
    position: relative;
    padding-left: 20px;
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
}
#contents.privacy .privacy-num-list-item:not(:last-child){
    margin-bottom: 15px;
}
#contents.privacy .privacy-num-list-item .num{
    position: absolute;
    top: 0;
    left: 0;
    color: #0147a9;
    font-weight: bold;
}
#contents.privacy .privacy-num-list2:not(:last-child){
    margin-bottom: 15px;
}
#contents.privacy .privacy-num-list2-item{
    padding-left: 1.2em;
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
    text-indent: -1.2em;
}
#contents.privacy .privacy-num-list2-item:first-letter{
    color: #1a1a1a;
}
#contents.privacy .privacy-section p{
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
}
#contents.privacy .privacy-section p:not(:last-child){
    margin-bottom: 10px;
}

/***------------
qa
------------***/
#contents.qa{
    width: 1000px;
    margin: 0 auto;
}
#contents.qa .qa-section:not(:last-child){
    margin-bottom: 80px;
}
#contents.qa .qa-box{
    border: solid 1px #ebebeb;
    box-sizing: border-box;
}
#contents.qa .qa-box:not(:last-child){
    margin-bottom: 15px;
}
#contents.qa .qa-box__q{
    display: flex;
    position: relative;
    padding-right: 40px;
}
#contents.qa .qa-box__q:before{
    display: block;
    flex: 0 0 auto;
    width: 21px;
    height: 24px;
    margin: 25px 20px 25px 25px;
    background: url("../img/qa/icon_q.svg") no-repeat center;
    background-size: contain;
    content: "";
}
#contents.qa .qa-box__q:after{
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    width: 12px;
    height: 8px;
    background: url("../img/qa/q-arrow.svg") no-repeat center;
    background-size: contain;
    content: "";
    transition: transform .3s ease;
}
#contents.qa .qa-box__q.accordion_open:after{
    transform: rotate(-180deg);
}
#contents.qa .qa-box__q-text{
    display: flex;
    align-items: center;
    padding: 18px 0;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.55;
}
#contents.qa .qa-box__a{
    border-top: solid 1px #ebebeb;
    background: #f0f0f0;
}
#contents.qa .qa-box__a-inner{
    display: flex;
}
#contents.qa .qa-box__a-inner:before{
    display: block;

    flex: 0 0 auto;
    width: 21px;
    height: 24px;
    margin: 25px 20px 25px 25px;
    background: url("../img/qa/icon_a.svg") no-repeat center;
    background-size: contain;
    content: "";
}
#contents.qa .qa-box__a-text{
    display: flex;
    align-items: center;
    padding: 20px 40px 20px 0;
    box-sizing: border-box;
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.55;
}

/***------------
sustainability
------------***/
#contents.susta{
    width: 1000px;
    margin: 0 auto;
    color: #666;
    font-size: 1.5rem;
}
#contents.susta *{
    line-height: calc(1em + 14px);
}
#contents.susta .title2{
    color: #333;
}
#contents.susta .susta-head{
    margin-bottom: 23px;
}
#contents.susta .susta-block{
    padding: 23px 30px 30px;
    background: #f5f5f5;
}
#contents.susta .susta-block:not(:last-child){
    margin-bottom: 10px;
}
#contents.susta .susta-block-head{
    margin-bottom: 13px;
    padding-bottom: 14px;
    border-bottom: solid 1px #ccc;
    box-sizing: border-box;
}
#contents.susta .susta-block-title{
    margin-bottom: 1px;
    color: #346cba;
    font-size: 2.2rem;
    font-weight: bold;
}
#contents.susta .susta-block-body{
    display: flex;
    justify-content: space-between;
}
#contents.susta .susta-block__list{
    flex: 1 1 auto;
}
#contents.susta .susta-block__list-item{
    position: relative;
    padding-left: 16px;
}
#contents.susta .susta-block__list-item:not(:last-child){
    margin-bottom: 1px;
}
#contents.susta .susta-block__list-item:before{
    position: absolute;
    top: 0;
    left: 3px;
    color: #99b5dc;
    font-size: 10px;
    content: "●";
}
/* ie */
_:-ms-input-placeholder,
:root #contents.susta .susta-block__list-item:before{
    line-height: 29px;
}
#contents.susta .susta-block__icon{
    display: flex;
    flex: 1 0 auto;
    justify-content: flex-end;
    min-width: 0;
    margin: 7px 0 0 20px;
}
#contents.susta .susta-block__icon-item:not(:first-child){
    margin-left: 5px;
}
.susta-modal{
    width: 1000px;
    padding: 60px;
    border-radius: 15px;
    box-sizing: border-box;
    background: #fff;
    color: #666;
    font-size: 1.5rem;
}
.susta-modal *{
    line-height: calc(1em + 14px);
}
.susta-modal-title{
    margin-bottom: 22px;
    padding-left: 32px;
    border-left: solid 3px #346cba;
    color: #333;
    font-size: 2.8rem;
}
.susta-modal > p:not(:last-child){
    margin-bottom: 14px;
}
.susta-modal__img{
    display: flex;
}
.susta-modal__img:after{
    content: none;
}
.susta-modal__img:not(:first-child){
    margin-top: 22px;
}
.susta-modal__img-item{
    flex: 0 0 282px;
}
.susta-modal__img-item:not(:last-child){
    margin-right: 17px;
}
.susta-modal__img-item img{
    width: 100%;
    height: auto;
}
.susta-modal__img-caption,
.susta-modal__img-caption--all{
    padding-top: 7px;
    color: #333;
    line-height: calc(1em + 10px);
}
.susta-modal__box{
    padding: 15px 20px;
    background: #ebf0f8;
    font-size: 1.4rem;
}
.susta-modal__box *{
    line-height: calc(1em + 10px);
}
.susta-modal__box + .susta-modal__box{
    margin-top: 2px;
}
.susta-modal__box-title{
    margin-bottom: 5px;
    color: #346cba;
}
.susta-modal__num-list:not(:last-child){
    margin-bottom: 22px;
}
.susta-modal__num-list-item{
    position: relative;
    padding-left: 19px;
}
.susta-modal__num-list-item:not(:last-child){
    margin-bottom: 19px;
}
.susta-modal__num-list-item .num{
    position: absolute;
    top: 0;
    left: 0;
    color: #0147a9;
    font-weight: bold;
}
.susta-modal__num-list-item p:not(:last-child){
    margin-bottom: 9px;
}
.susta-modal__num-list2:not(:last-child){
    margin-bottom: 9px;
}
.susta-modal__num-list2-item{
    padding-left: 1.25em;
    text-indent: -1.25em;
}
.susta-modal__num-list2-item:first-letter{
    color: #333;
}

/* product */
#contents.product{
    width: 1000px;
    margin: 0 auto;
}
#contents.product .product-section:not(:last-child){
    margin-bottom: 60px;
}
#contents.product .product-list{
    display: flex;
    flex-wrap: wrap;
}
#contents.product .product-list:after{
    content: none;
}
#contents.product .product-list-item{
    flex: 0 0 324px;
    background: #f2f2f2;
}
#contents.product .product-list-item:not(:nth-child(3n)){
    margin-right: 14px;
}
#contents.product .product-list-item:not(:nth-child(-n+3)){
    margin-top: 28px;
}
#contents.product .product-list-item a{
    display: block;
    position: relative;
    height: 100%;
    padding-bottom: 38px;
    box-sizing: border-box;
    text-decoration: none;
}
#contents.product .product-list-item-head{
    max-height: 216px;
    overflow-y: hidden;
}
#contents.product .product-list-item-head img{
    width: 100%;
    height: auto;
}
#contents.product .product-list-item a:hover .product-list-item-head img{
    opacity: .5;
}
#contents.product .product-list-item-body{
    padding: 25px 20px 35px;
}
#contents.product .product-list-item__title{
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 10px);
    transition: color .3s ease;
}
#contents.product .product-list-item__title:not(:last-child){
    margin-bottom: 10px;
}
#contents.product .product-list-item a:hover .product-list-item__title{
    color: #009eff;
}
#contents.product .product-list-item__text{
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
}
#contents.product .product-list-item .btn2{
    position: absolute;
    right: 20px;
    bottom: 25px;
    line-height: 1;
}
#contents.product .product-list-item a:hover .btn2 span{
    color: #009eff;
}
#contents.product .product-list-item a:hover .btn2 span:after{
    background: url(../img/icon_arow2_blue.svg) no-repeat;
    animation: sdb 1.8s infinite;
}
#contents.product .product-list-item a:hover .btn2 span:before{
    background: #009eff;
}

/* product-table-list */
.product-table-list:not(:first-child){
    margin-top: 50px;
}
@media screen and (min-width:769px){
    .product-section:not(:last-child) .product-table-list{
        margin-bottom: 100px;
    }   
}
.product-table-list__lead{
    margin: 60px auto 25px;
    padding: 20px 15px;
    background: #f2f2f2;
    text-align: center;
}
.product-table-list-item:not(:last-child){
    margin-bottom: 25px;
}
.product-table-list-item__title{
    margin-bottom: 7px;
    color: #0147a9;
    font-size: 1.8rem;
    font-weight: bold;
}
.product-table-list-item__title + *{
    margin-top: 0!important;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .product-table-list:not(:first-child){
        margin-top: 30px;
    }
    .product-table-list__lead{
        margin: 40px auto 20px;
        text-align: left;
    }
    .product-table-list-item:not(:last-child){
        margin-bottom: 20px;
    }
    .product-table-list-item__title{
        margin-bottom: 5px;
        font-size: 1.5rem;
    }
}

/* prod-detail-download */
.prod-bottom-download{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
    padding: 23px 20px 27px;
    border: solid 1px #666;
    box-sizing: border-box;
    background: #fff;
}
#contents.product + .prod-bottom-download{
    margin: -40px auto 60px;
}
.prod-detail-body + .prod-bottom-download{
    margin-top: 60px;
}
.prod-bottom-download:has(+ .prod-detail-bottom){
    margin-bottom: -30px;
}
.prod-bottom-download__title{
    position: relative;
    margin-bottom: 12px;
    padding-left: 35px;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: calc(1em + 12px);
}
.prod-bottom-download__title:before{
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 32px;
    background: url("../img/product/icon_download.svg") no-repeat center;
    background-size: contain;
    content: "";
}
.prod-bottom-download-list{
    max-width: 100%;
}
.prod-bottom-download-list-item:not(:last-child){
    margin-bottom: 10px;
}
.prod-bottom-download-list-item a{
    display: block;
    position: relative;
    padding: 3px 0 3px 40px;
    color: #666;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: calc(1em + 8px);
}
.prod-bottom-download-list-item a:before{
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: url("../img/product/icon_pdf.png") no-repeat center;
    background-size: contain;
    content: "";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .prod-bottom-download{
        width: 87.5%;
        padding: 18px 15px 20px;
    }
    #contents.product + .prod-bottom-download{
        margin: -30px auto 0;
    }
    .prod-detail-body + .prod-bottom-download{
        margin-top: 40px;
    }
    .prod-bottom-download:has(+ .prod-detail-bottom){
        margin-bottom: -15px;
    }
    .prod-bottom-download__title{
        position: relative;
        padding-left: 30px;
        font-size: 19px;
        font-size: 1.9rem;
        line-height: calc(1em + 10px);
    }
    .prod-bottom-download__title:before{
        width: 18px;
        height: 29px;
    }
    .prod-bottom-download-list-item:not(:last-child){
        margin-bottom: 21px;
    }
    .prod-bottom-download-list-item a{
        padding: 1px 0 1px 29px;
        font-size: 14px;
        font-size: 1.4rem;
    }
    .prod-bottom-download-list-item a:before{
        width: 24px;
        height: 24px;
        background: url("../img/product/icon_pdf@sp.png") no-repeat center;
        background-size: contain;
    }
}

/*-------------
prod-detail
-------------*/
#contents.prod-detail{
    padding-bottom: 0;
}

/* slide共通 */
#contents.prod-detail .slick-list{
    position: relative;
}
#contents.prod-detail .slick-arrow{
    position: absolute;
    top: calc(50% - 20px);
    z-index: 1;
    width: 40px;
    height: 40px;
    background: rgba(0,0,0,.2) url("../img/slide-arrow.svg") no-repeat center;
    background-size: auto;
    border: none;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
}
#contents.prod-detail .slick-prev{
    left: -20px;
}
#contents.prod-detail .slick-next{
    right: -20px;
    transform: rotate(180deg);
}

/* prod-detail-head */
#contents.prod-detail .prod-detail-head{
    display: flex;
    width: 1080px;
    margin: 0 auto 80px;
}
#contents.prod-detail .prod-detail-head-img{
    flex: 0 0 auto;
    max-width: 450px;
    margin-left: 40px;
}
#contents.prod-detail .prod-detail-head-img-item img{
    width: 100%;
    height: auto;
}
#contents.prod-detail .prod-detail-head-main{
    flex: 1 1 auto;
    margin: 0 40px;
}
#contents.prod-detail .prod-detail-head__catch{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: calc(1em + 16px);
}
#contents.prod-detail .prod-detail-head__catch:not(:last-child){
    margin-bottom: 22px;
}
#contents.prod-detail .prod-detail-head__text{
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
    letter-spacing: .04em;
}

/* prod-detail-body */
#contents.prod-detail .prod-detail-body{
    padding: 70px 0 100px;
    background: #f2f2f2;
}
#contents.prod-detail .prod-detail-sec{
    width: 1000px;
    margin: 0 auto;
}
#contents.prod-detail .prod-detail-sec + .prod-detail-sec{
    margin-top: 100px;
}
#contents.prod-detail .prod-detail-box-wrap:not(.slick-slider){
    display: flex;
    justify-content: space-between;
}
#contents.prod-detail .prod-detail-box-wrap:after{
    content: none;
}
#contents.prod-detail .prod-detail-box{
    width: 490px;
    padding: 35px 41px 40px;
    box-sizing: border-box;
    background: #fff;
}
#contents.prod-detail .prod-detail-box:after{
    content: none;
}
#contents.prod-detail .prod-detail-box__img{
    margin-bottom: 20px;
    text-align: center;
}
#contents.prod-detail .prod-detail-box__img img{
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 272px;
}
#contents.prod-detail .prod-detail-box__title{
    margin-bottom: 10px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: calc(1em + 10px);
}
#contents.prod-detail .prod-detail-box__text{
    color: #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: calc(1em + 10px);
}
#contents.prod-detail .prod-detail-box.layout2{
    display: flex!important;
    flex-wrap: wrap;
    justify-content: space-between;
}
#contents.prod-detail .prod-detail-box.layout2 .prod-detail-box__img{
    flex: 0 0 165px;
    order: 2;
    margin: 5px 0 0 18px;
}
#contents.prod-detail .prod-detail-box.layout2 .prod-detail-box__img img{
    max-height: none;
}
#contents.prod-detail .prod-detail-box.layout2 .prod-detail-box__title{
    flex: 0 0 100%;
}
#contents.prod-detail .prod-detail-box.layout2 .prod-detail-box__text{
    flex: 1 1 225px;
    height: 100%;
}
#contents.prod-detail .prod-detail-box-wrap .slick-track{
    display: flex;
}
#contents.prod-detail .prod-detail-box.slick-slide{
    height: auto;
    margin-right: 20px;
}

/* prod-detail-other-block */
#contents.prod-detail .prod-detail-other-block{
    line-height: 0;
}
#contents.prod-detail .prod-detail-other-block:not(:first-child){
    margin-top: 30px;
}
#contents.prod-detail .prod-detail-other-block img{
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
#contents.prod-detail .prod-detail__img-btn{
    display: none;
}
#contents.prod-detail .prod-detail-other-block iframe,
#contents.prod-detail .prod-detail-other-block video{
	max-width: 100%!important;
}

/* prod-detail-download */
#contents.prod-detail .prod-detail-download{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
    border: solid 1px #666;
    box-sizing: border-box;
    background: #fff;
}
#contents.prod-detail .prod-detail-download:not(:first-child){
    margin-top: 50px;
}
#contents.prod-detail .prod-detail-download__title{
    position: relative;
    margin-bottom: 25px;
    padding-left: 35px;
    font-family: "Bookman Old Style","Source Serif Pro","Noto Sans JP";
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 32px;
}
#contents.prod-detail .prod-detail-download__title:before{
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 32px;
    background: url("../img/product/icon_download.svg") no-repeat center;
    background-size: contain;
    content: "";
}
#contents.prod-detail .prod-detail-download-list{
    max-width: 100%;
}
#contents.prod-detail .prod-detail-download-list-item:not(:last-child){
    margin-bottom: 10px;
}
#contents.prod-detail .prod-detail-download-list-item a{
    display: block;
    position: relative;
    padding: 3px 0 3px 40px;
    color: #666;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: calc(1em + 8px);
}
#contents.prod-detail .prod-detail-download-list-item a:before{
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: url("../img/product/icon_pdf.png") no-repeat center;
    background-size: contain;
    content: "";
}

/* prod-detail-related */
#contents.prod-detail .prod-detail-related{
    width: 1000px;
    margin: 0 auto;
}
#contents.prod-detail .prod-detail-related:not(:first-child){
    margin-top: 60px;
}
#contents.prod-detail .prod-detail-related__title{
    margin-bottom: 25px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
}
#contents.prod-detail .prod-detail-related-list:not(.slick-slider){
    display: flex;
    box-sizing: border-box;
}
#contents.prod-detail .prod-detail-related-list:after{
    content: none;
}
#contents.prod-detail .prod-detail-related-list-item{
    max-width: 228px;
}
#contents.prod-detail .prod-detail-related-list:not(.slick-slider) .prod-detail-related-list-item:not(:last-child){
    margin-right: 29px;
}
#contents.prod-detail .prod-detail-related-list-item a{
    text-decoration: none;
}
#contents.prod-detail .prod-detail-related-list-item__img img{
    width: 100%;
    height: auto;
}
#contents.prod-detail .prod-detail-related-list-item__caption{
    padding-top: 5px;
    color: #383838;
    font-size: 14px;
    font-size: 1.4rem;
}
#contents.prod-detail .prod-detail-related-list.slick-slider{
    width: 960px;
    margin: 0 auto;
}
#contents.prod-detail .prod-detail-related-list-item.slick-slide{
    margin-right: 16px;
}
#contents.prod-detail .prod-detail-related-list .slick-arrow{
    top: 56px;
    background: rgba(255,255,255,.8) url("../img/slide-arrow_black.svg") no-repeat center;
    background-size: auto;
}

/* prod-detail-bottom */
#contents.prod-detail .prod-detail-bottom{
    padding: 60px 0;
    /*border-top: solid 1px #ccc;*/
    /*background: #f2f2f2;*/
    width: 1000px;
    margin: 0 auto;
    display: flex;
}
#contents.prod-detail .prod-detail-bottom:after{
    content: none
}
#contents.prod-detail .prod-detail-back-btn{
    width: 480px;
    margin: 0 auto;
}
#contents.prod-detail .prod-detail-back-btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    background: #346cba;
    color: #fff;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    text-decoration: none;
}
/* prod-detail-lead */
.prod-detail-lead{
    width: 1000px;
    margin: 0 auto 70px;
}
.prod-detail-lead__title{
    margin-bottom: 15px;
    color: #0147a9;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
.prod-detail-lead p{
    color: #666;
    line-height: calc(1em + 10px);
    letter-spacing: .04em;
}
.prod-detail-lead p:not(:last-child){
    margin-bottom: 5px;
}
.prod-detail-lead__dot-list:not(:first-child){
    margin-top: 19px;
}
.prod-detail-lead__dot-list:not(:last-child){
    margin-bottom: 21px;
}
.prod-detail-lead__dot-list li{
    position: relative;
    padding-left: 1.25em;
    color: #666;
    line-height: calc(1em + 10px);
    letter-spacing: .04em;
}
.prod-detail-lead__dot-list li:not(:last-child){
    margin-bottom: 5px;
}
.prod-detail-lead__dot-list li::before{
    position: absolute;
    top: calc(.5em + 3px);
    left: calc(.5em - 3px);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #666;
    content: "";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .prod-detail-lead{
        width: 87.5%;
        margin-bottom: 30px;
    }
    .prod-detail-lead__title{
        font-size: 2.1rem;
    }
    .prod-detail-lead__dot-list:not(:first-child){
        margin-top: 15px;
    }
    .prod-detail-lead__dot-list:not(:last-child){
        margin-bottom: 15px;
    }
}
/* prod-detail-table */
.prod-detail-table-block{
    max-width: 1000px;
    margin: 0 auto;
}
.prod-detail-table-block:not(:first-child){
    margin-top: 30px;
}
.prod-detail-table-block:not(:last-child){
    margin-bottom: 20px;
}
.prod-detail-head + .prod-detail-table-block{
    margin-top: -40px;
}
.prod-detail-table-block + .prod-detail-table-block{
    margin-top: 0;
}
.prod-detail-table-wrap{
    margin: -2px;
}
.prod-detail-table-block > p{
    color: #666;
}
.prod-detail-table-block > p:not(:first-child){
    margin-top: 10px;
}
.prod-detail-table-block > p:not(:last-child){
    margin-bottom: 10px;
}
.prod-detail-table{
    max-width: 100%;
    table-layout: auto;
}
@media screen and (min-width:769px){
    .prod-detail-table{
        min-width: 480px;
    }
    .prod-detail-table.is--wide_max{
        width: 100%;
    }
    .prod-detail-table.pc-layout_fixed{
        table-layout: fixed;
    }
}
.prod-detail-table :is(th,td){
    border: solid 2px #fff;
    letter-spacing: .04em;
    vertical-align: middle;
}
.prod-detail-table tr:nth-child(2n),
.prod-detail-table .odd-color{
    /* background: #ccdaee; */
    background: #e6e6e6;
}
.prod-detail-table tr:nth-child(2n+1),
.prod-detail-table .even-color{
    background: #ebf0f8;
}
.prod-detail-table th{
    padding: 11px 15px 13px;
    /* background: #0147a9;
    color: #fff; */
    background: #c2d3ea;
    line-height: calc(1em + 4px);
    text-align: center;
}
.prod-detail-table .sub-header th{
    /* background: #346cba; */
    background: #cccccc;
}
.prod-detail-table th .small{
    display: inline-block;
    font-size: .8em;
    line-height: calc(1em + 5px);
}
.prod-detail-table td{
    text-align: left;
}
.prod-detail-table .sub-header th,
.prod-detail-table td{
    padding: 8px 15px 10px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .prod-detail-table-block{
        width: 100%;
        max-width: 87.5vw;
        overflow: hidden;
    }
    .prod-detail-table-block:not(:last-child){
        margin-bottom: 10px;
    }
    .prod-detail-table-wrap{
        width: 1004px;
        padding-bottom: 10px;
        overflow: auto;
        box-sizing: content-box;
    }
    .prod-detail-table-wrap:not(.is--scrolable) .scroll-hint-icon{
        opacity: 0!important;
    }
    .prod-detail-table-wrap .scroll-hint-icon{
        top: min(calc(50% - 40px),100px);
    }
    .prod-detail-table-wrap.is--wid_auto{
        width: auto;
    }
    .prod-detail-table{
        min-width: 87.5vw;
    }
    .prod-detail-table-wrap.is--wid_auto .prod-detail-table{
        max-width: none;
    }
    .prod-detail-table :is(th,td){
        width: auto!important;
        font-size: 1.3rem;
    }
    .prod-detail-table th{
        padding: 8px 12px 9px;
    }
    .prod-detail-table .sub-header th,
    .prod-detail-table td{
        padding: 6px 12px 8px;
    }
}
/* prod-detail-pictures */
.prod-detail-pictures{
    display: flex;
    flex-wrap: wrap;
    gap: 40px 32px;
    max-width: 1000px;
    margin: 0 auto;
}
.prod-detail-pictures:not(:last-child){
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: solid 1px #ccc;
}
@media screen and (min-width:769px){
    .prod-detail-body .prod-detail-pictures:last-child{
        margin-bottom: -30px;
    }   
}
.prod-detail-pictures::after{
    content: none;
}
.prod-detail-pictures-item{
    flex: 0 0 484px;
}
@media screen and (min-width:769px){
    .prod-detail-pictures:has(> .prod-detail-pictures-item:nth-child(3):last-child),
    .prod-detail-pictures:has(> .prod-detail-pictures-item:nth-child(5)){
        gap: 30px 20px; 
    }
    .prod-detail-pictures:has(> .prod-detail-pictures-item:nth-child(3):last-child) .prod-detail-pictures-item,
    .prod-detail-pictures:has(> .prod-detail-pictures-item:nth-child(5)) .prod-detail-pictures-item{
        flex: 0 0 320px;
    }
}
.prod-detail-pictures-item img{
    width: 100%;
    height: auto;
}
.prod-detail-pictures-item__caption{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 10px;
    font-weight: bold;
    line-height: calc(1em + 6px);
    letter-spacing: .04em;
}
.prod-detail-pictures-body{
    padding: 12px 20px 14px;
    background: #fff;
    color: #444;
    line-height: calc(1em + 8px);
}
.prod-detail-pictures-item__title{
    margin-bottom: 7px;
    color: #333;
    font-size: 1.8rem;
    font-weight: bold;
}
.prod-detail-pictures-body p:not(:last-child){
    margin-bottom: 4px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .prod-detail-pictures{
        gap: 16px 8px;
        max-width: 100%;
    }
    .prod-detail-pictures:not(:last-child){
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    .prod-detail-pictures-item{
        flex: 0 0 calc(50% - 4px);
    }
    .prod-detail-pictures:has(.prod-detail-pictures-item:nth-child(2n+1):last-child) .prod-detail-pictures-item:first-child,
    .prod-detail-pictures-item:has(.prod-detail-pictures-body){
        flex: 0 0 100%;
    }
    .prod-detail-pictures-item__caption{
        margin-top: 7px;
        font-size: 1.3rem;
        line-height: calc(1em + 5px);
    }
    .prod-detail-pictures-body{
        padding: 10px 15px 12px;
    }
    .prod-detail-pictures-item__title{
        margin-bottom: 6px;
        font-size: 1.6rem;
    }
    .prod-detail-pictures-body p:not(:last-child){
        margin-bottom: 3px;
    }
}

/*-------------
横スクロールボタン
-------------*/
.btn-scroll .btn-scroll-left,
.btn-scroll .btn-scroll-right{
    display: none;
}
/*-------------
contact
-------------*/
#contents.contact{
    width: 900px;
    margin: 0 auto;
}
#contents.contact .contact-text{
    color: #666666;
    font-size: 15px;
    font-size: 1.5rem;
    text-align: center;
    line-height: 2;
    margin-bottom: 40px;
}
#contents.contact dl.kind{
    margin-bottom: 20px;
    padding: 30px 60px;
    border: solid 1px #ccc;
    box-sizing: border-box;
    position: relative;
}
#contents.contact dl.kind:before{
    content: "";
    width: 1px;
    height: 40px;
    background: #666666;
    position: absolute;
    top: -20px;
    right: 0;
    left: 0;
    margin: auto;
}
#contents.contact dl.kind dt.kind-title{
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}
#contents.contact dl.kind dt.kind-title small{
    font-size: 10px;
    font-size: 1.0rem;
}
#contents.contact dl.kind dd.kind-text ul{
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
#contents.contact dl.kind dd.kind-text ul:after{
    content: none;
}
#contents.contact ul.radio-list{
    display: flex;
    justify-content: flex-start;
    padding: 10px 0;
}
#contents.contact ul.radio-list li{
    margin-right: 20px;
}
#contents.contact ul.radio-list:after{
    content: none;
}
#contents.contact input[type="radio"]{
    margin-right: 10px;
    border-radius: 50%;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 18px;
    width: 18px;
    transition: all .15s ease-out 0s;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    outline: none;
    border: 1px solid #cccccc;
}
#contents.contact input[type="radio"]:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 3px;
    background: #ccc;
    transition: all ease-out 250ms;
}
#contents.contact input[type="radio"]:checked:before {
    transform: scale(1);
    background: #009eff;
    border: 1px solid #009ef;
}
#contents.contact input[type="radio"]:checked {
    border: 1px solid #009ef;
}
#contents.contact input[type="radio"]:checked + span{
    color: #009eff;
}

#contents.contact dl.kind dd.kind-text .tel-contact{
    background: #ebf0f8;
    padding: 15px;
    box-sizing: border-box;
    text-align: center;
}
#contents.contact dl.kind dd.kind-text .tel-contact dt{
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 10px;
}
#contents.contact dl.kind dd.kind-text .tel-contact dd{
    color: #346cba;
}
#contents.contact dl.kind dd.kind-text .tel-contact dd strong{
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    margin-right: 5px;
}
#contents.contact dl.kind dd.kind-text .tel-contact dd img{
    width: 22px;
    height: 22px;
    vertical-align: baseline;
    margin-right: 5px;
}
#contents.contact .contact-notes{
    margin-bottom: 20px;
    padding: 20px 25px 30px;
    background: #f0f0f0;
}

#contents.contact .contact-notes h2{
    margin-bottom: 20px;
    font-size: 2rem;
    text-align: center;
}
#contents.contact .contact-notes p:not(:last-child){
    margin-bottom: 15px;
}
#contents.contact .contact-notes a{
    color: #0147A9;
}
#contents.contact table{
    border-top: solid 1px #cccccc;
    width: 100%;
    margin-bottom: 40px;
}
#contents.contact table tr {
    border-bottom: solid 1px #cccccc;
}
#contents.contact table tr th{
    width: 180px;
    color: #666;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    padding: 15px 0;
}
#contents.contact table tr th.v-top{
    vertical-align: top;
    padding-top: 25px;
}
#contents.contact table tr td{
    padding: 15px 0 15px 15px;
    box-sizing: border-box;
}
#contents.contact table tr td input[type="text"],
#contents.contact table tr td input[type="tel"],
#contents.contact table tr td input[type="email"]{
    height: 40px;
    border: none;
    background: #f5f5f5;
    padding: 0 10px;
    box-sizing: border-box;
}
#contents.contact table tr td textarea{
    height: 150px;
    border: none;
    background: #f5f5f5;
    padding: 10px;
    box-sizing: border-box;
}
#contents.contact table tr td input.wid300{
    width: 300px;
}
#contents.contact table tr td select{
    height: 40px;
    background: #f5f5f5;
    border: none;
    padding: 10px;
}
#contents.contact .tyui{
    color: #333333;
    margin-bottom: 60px;
}
#contents.contact .checkarea{
    background: #ebf0f8;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 15px;
    font-size: 16px;
    font-size: 1.6rem;
}
#contents.contact .checkarea span{
    font-size: 14px;
    font-size: 1.4rem;
}
#contents.contact .checkarea input{
    width: 20px;
    height: 20px;
    margin-right: 5px;
}
#contents.contact .btn-check{
    cursor:not-allowed;
}
#contents.contact .btn-check a{
    pointer-events: none;
}
#contents.contact .btn-check.check-in{
    cursor:pointer;
}
#contents.contact .btn-check.check-in a{
    pointer-events: auto;
}
/*-------------
complete
-------------*/
#contents.complete{
    width: 800px;
    margin: 0 auto;
}
#contents.complete h2{
    text-align: center;
    margin-bottom: 20px;
}
#contents.complete .text{
    text-align: center;
    margin-bottom: 40px;
}
/***------------
news

------------***/
#contents.news{
    width: 1000px;
    margin: 0 auto;
}
#contents.news .news-nav{
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#contents.news .news-nav:after,
#contents.news .news-nav .news-nav-category ul:after{
    content: none;
}
#contents.news .news-nav .news-nav-category{
    width: 720px;
}
#contents.news .news-nav .news-nav-category ul{
    display: flex;
    justify-content: flex-start;
}
#contents.news .news-nav .news-nav-category ul li{
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    border-left: dotted 1px #333333;
    padding: 10px 24px;
    box-sizing: border-box;
}
#contents.news .news-nav .news-nav-category ul li:last-of-type{
    border-right: dotted 1px #333333;
}
#contents.news .news-nav .news-nav-category ul li a{
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: none;
}
#contents.news .news-nav .news-nav-category ul li.current{
    font-weight: bold;
    color: #009eff;
    cursor: default;
}
#contents.news .news-nav .news-nav-category ul li.current a{
    font-weight: bold;
    color: #009eff;
    pointer-events: none;
}
#contents.news .news-nav .news-nav-dropdown{
    width: 190px;
}
#contents.news .news-nav .news-nav-dropdown span{
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    margin-right: 10px;
}
#contents.news .news-nav .news-nav-dropdown select{
    border: solid 1px #e6e6e6;
    box-sizing: border-box;
    padding: 10px;
    width: 130px;
    height: 40px;
}
#contents.news .news-main .entry.is-hidden{
    opacity: 0;
    height: 0;
    margin: 0;
    display: none;
}
#contents.news .news-main .news-main-list{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
#contents.news .news-main .news-main-list:after{

    content: none;
}
#contents.news .news-main .news-main-list .entry{
    flex: 0 0 324px;
    background: #f2f2f2;
    position: relative;
    padding-bottom: 71px;
    box-shadow: 0 4px 6px 0px rgb(0 0 0 / 10%);
}
#contents.news .news-main .news-main-list .entry:not(:nth-child(3n)){
    margin-right: 14px;
}
#contents.news .news-main .news-main-list .entry:not(:nth-child(-n+3)){
    margin-top: 28px;
}
#contents.news .news-main .news-main-list .entry img{
    width: 100%;
    height: 216px;
    object-fit: cover;
}
#contents.news .news-main .news-main-list .entry a{
    text-decoration: none;
}
#contents.news .news-main .news-main-list .entry a:hover img{
    opacity: .5;
}
#contents.news .news-main .news-main-list .entry .title{
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 30px;
    box-sizing: border-box;
}
#contents.news .news-main .news-main-list .entry .sub{
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 20px 30px 30px;
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    left: 0;
}
#contents.news .news-main .news-main-list .entry .sub:after{
    content: none;
}
#contents.news .news-main .news-main-list .entry .sub:before{
    content: "";
    width: calc(100% - 60px);
    height: 1px;
    border-top: solid 1px #cccccc;
    position: absolute;

    top: 0;
    left: 30px;
}
#contents.news .news-main .news-main-list .entry .sub time{
    color: #666666;
}
#contents.news .news-main .news-main-list .entry .sub .cub-category,
#contents.news .news-main .news-main-list .entry .sub .cub-category a{
    color: #346cba;
    font-weight:500;
}
#contents.news .news-main .more{
    cursor: pointer;
    text-align: center;
    transition: all ease .3s;
    transform: translate(0, 0);
}
#contents.news .news-main .more:hover{
    transform: translate(0, 10px);
}

/*-------------
404
-------------*/
#contents.error--404{
    width: 1000px;
    margin: 0 auto;
}
#contents.error--404 > div{
    padding: 50px;
    background: #f5f5f5;
}
#contents.error--404 > div p{
    font-size: 1.8rem;
    text-align: center;
    line-height: 2;
}
#contents.error--404 > div .btn3{
    margin-top: 40px;
}

/*-------------
cookie同意バナー
-------------*/
.cookie-bnr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    opacity: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    min-height: 60px;
    margin: 0;
    padding: 9px 30px;
    box-sizing: border-box;
    background: rgba(50,50,50,.8);
    transition: opacity .3s ease;
}
.cookie-bnr.is--show {
    opacity: 1;
}
.cookie-bnr__text {
    flex: 1 1 auto;
    margin: 0 20px 0 0;
    color: #fff;
    font-size: 15px;
    line-height: calc(1em + 6px);
    text-align: left;
    text-shadow: 0 0 5px rgba(0,0,0,.2);
}
.cookie-bnr__text__link {
    display: inline-block;
    background-color: transparent;
    color: #fff!important;
    text-decoration: underline;
}
.cookie-bnr__text__link:hover {
    text-decoration: none;
}
.cookie-bnr__btn {
    width: 150px;
    min-width: 100px;
    height: 40px;
    border: none;
    border-radius: 5px;
    background: #f06b21;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    text-align: center;
    appearance: none;
    cursor: pointer;
    outline: none;
}

@media screen and (max-width:768px){
    .cookie-bnr {
        display: block;
        position: fixed;
        padding: 10px 4.6875% calc(13px + env(safe-area-inset-bottom));
    }
    .cookie-bnr__text {
        margin: 0 0 12px;
        font-size: 12px;
    }
    .cookie-bnr__btn {
        width: 100%;
        min-width: 0;
        height: 30px;
        border-radius: 5px;
        font-size: 14px;
    }
}
