@charset"utf-8";

/*base--------------------------------*/

*{
	font-family: 'Noto Sans JP', sans-serif, 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	font-size: 100%;
	}
.container figcaption {
	font-size: 0.75em;
}

html, body {
	height: 100%;
	overflow: visible;
}

body{
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}

/* よく登場する要素のリセット */

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form, div {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	text-align: left;
	list-style-type: none;
	font-family: 'Noto Sans JP', 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	color: #333;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
}

.cf:after {
	content: ".";	/* 新しい要素を作る */
	display: block;	/* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.cf {
	min-height: 1px;
}

* html .cf {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

ruby rt {
	font-size: 50%;
}
@-moz-document url-prefix() {
	ruby rt {
		font-size: 50%;
	}
}



/*common--------------------------------*/

#wrap {
	overflow: hidden;
}

.top#wrap {
	opacity: 0;
}

.lower#wrap {
	opacity: 1;
}

.serif {
	font-family: 'Noto Serif JP', serif;
}

.plain_txt {
	font-size: 16px;
	line-height: 2em;
	padding-bottom: 1.5em;
}

a:link,
a:visited,
a:active {
	color: #333;
	text-decoration: none;
}

a:focus {
	outline:none;
	text-decoration: none;
}

.hover {
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.hover:hover {
	opacity:0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.6;
	-khtml-opacity: 0.6;
	zoom:1;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.sp {
	display: none;
}

.red {
	color: #cc0000;
}

.fit {
	width: 100%;
}

.zoom {
	transition-duration: 0.3s;
}

.zoom:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}

section {
	padding: 80px 0;
	position: relative;
	z-index: 2;
}

.sec_tit {
    font-size: 30px;
    font-weight: 700;
    color: #0092d7;
    text-align: center;
    padding-bottom: 40px;
}

.plain_txt {
    font-size: 16px;
    line-height: 1.5em;
}

.btn_container {
    padding-top: 40px;
}

.btn_container a {
    display: block;
    width: 500px;
    height: 60px;
    margin: 0 auto;
    background-color: #0092d7;
    border: 1px solid #fff;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 60px;
    position: relative;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.btn_container a:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    bottom: 3px;
    right: 3px;
}

.btn_container a:hover {
    background-color: #fff;
    border: 1px solid #0092d7;
    color: #0092d7;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.btn_container a:hover:after {
    border-right: 2px solid #0092d7;
    border-bottom: 2px solid #0092d7;
}

.bg_b {
    background-color: #edf5f9;
}

/*----------------------------------------*/

/*loading*/

/*----------------------------------------*/

.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	text-align: center;
}

.loading_news {
    text-align: center;
}

.loading_container {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.loading_container img {
    width: 300px;
}

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 1em;
  height: 1em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #9fd9f6;
  font-size: 10px;
  margin: 20px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -2.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 2.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

.loading_sort {
	width: 100%;
	text-align: center;
	position: absolute;
    top: 100px;
    left: 0;
    display: none;
}

.load-spinner {
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 2px solid rgba(0,102,178,0.4);
	border-top-color: rgba(0,102,178,0.9);
	border-radius: 50%;
	margin: 100px auto;
	animation: spin 1.2s linear 0s infinite;}
	@keyframes spin { 0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}
}



/*--------------------------------------*/

/*header*/

/*--------------------------------------*/

header {
    width: 100%;
    height: 50px;
    padding: 10px 20px;
    box-sizing: border-box;
    background-color: #0092d7;
    display: flex;
    justify-content: flex-end;
    position: fixed; 
    top: 0;
    left: 0;
    z-index: 3;
}

header .tel_container {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 30px;
    padding-right: 20px;
}

header .btn_container {
    display: inline-block;
    width: 200px;
    height: 30px;
    padding: 0;
}

header .btn_container a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: 1px solid #0092d7;
    font-size: 14px;
    color: #333;
    text-align: center;
    line-height: 30px;
}
	

/*menu-trigger--------------------------------*/

.menu-trigger {
    display: none;
}


/*--------------------------------------*/

/*gnav*/

/*--------------------------------------*/

.gnav_wrap {
    width: 100%;
    height: 90px;
    background-color: #fff;
    position: relative;
    z-index: 99999;
}

.gnav_wrap.fixed {
    position: fixed;
    top: 50px;
    left: 0;
    box-shadow: 3px 3px 3px rgba(0,0,0,.2);
    z-index: 99999;
}

.gnav_wrap.fixed + article {
    padding-top: 90px;
}

.gnav {
    width: 1000px;
    margin: 0 auto;
    padding: 28px 0 27px 70px;
    display: flex;
}

.gnav .logo_container {
    width: 232px;
}

.gnav .menu-target {
    width: calc(100% - 232px);
    text-align: right;
}

.gnav .nav_container {
    display: inline;
}

.gnav .nav_item {
    display: inline;
    padding-right: 3em;
    line-height: 35px;
}


/*--------------------------------------*/

/*aside*/

/*--------------------------------------*/

aside {
    position: fixed;
    top: 50%;
    right: -768px;
    z-index: 99999;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

aside a {
    font-size: 18px;
    font-weight: 700;
    color: #fff!important;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: block;
    box-sizing: border-box;
    padding: 15px;
    background-color: #0092d7;
    border-top: 1px solid #0092d7;
    border-left: 1px solid #0092d7;
    border-bottom: 1px solid #0092d7;
    box-shadow: 0 0 4px rgba(0,0,0,.3);
    position: relative;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

aside a:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    bottom: 3px;
    right: 3px;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

aside a:hover {
    background-color: #fff;
    border-top: 1px solid #0092d7;
    border-left: 1px solid #0092d7;
    border-bottom: 1px solid #0092d7;
    color: #0092d7!important;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

aside a:hover:after {
    border-right: 2px solid #0092d7;
    border-bottom: 2px solid #0092d7;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}



/*--------------------------------------*/

/*footer*/

/*--------------------------------------*/

footer {
    background-color: #d6e3e9;
    padding-top: 80px;
}

.footer_container {
    width: 1000px;
    margin: 0 auto 70px;
    display: flex;
}

.footer_container .logo_container {
    width: 50%;
    text-align: center;
}

.footer_container .footer_nav {
    width: 50%;
}

.footer_container .footer_logo {
    width: 360px;
}

.footer_container .logo_container .txt_container {
    display: inline-block;
    text-align: left;
    padding-top: 20px;
}

.footer_nav .nav_container {
    display: flex;
    flex-wrap: wrap;
}

.footer_nav .nav_item {
    width: calc(100% / 3);
    padding: 5px 0 15px;
    padding-left: 1.2em;
    box-sizing: border-box;
    position: relative;
}

.footer_nav .nav_item a {
    font-size: 14px;
}

.footer_nav .nav_item:before {
    content: "";
    display: block;
    border-left: 8px solid #0092d7;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    position: absolute;
    top: 13px;
    left: 0;
}

footer address {
    width: 100%;
    height: 35px;
    background-color: #0092d7;
    font-size: 12px;
    color: #fff;
    text-align: center;
    line-height: 35px;
}


/*--------------------------------------*/

/*top*/

/*--------------------------------------*/

/*mv_container --------------------------------*/

.top .mv_container {
    width: 100%;
    height: 55vw;
    position: relative;
}

.top .mv_container .slider {
    width: 100%;
    height: 55vw;
}

.top .mv_container .catch {
    width: 56.55vw;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
    z-index: 2;
}

.top .mv_container .catch .catch_logo {
    width: 15.28vw;
    margin-bottom: 1.74vw;
}


/*sec01 --------------------------------*/

.top .sec01 {
    padding: 0;
}

.top .news_container {
    width: 100%;
    display: flex;
}

.top .news_container .left_container {
    width: 35%;
    background-color: #0092d7;
    padding: 80px 0;
}

.top .news_container .right_container {
    width: 65%;
    background-color: #eee;
}

.top .news_tit {
    width: 320px;
    margin-left: calc(100% - 320px);
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    letter-spacing: .02em;
}

.top .news_container .btn_container {
    width: 320px;
    margin-left: calc(100% - 320px);
    padding-top: 40px;
}

.top .news_container .btn_container a {
    width: 120px;
    height: 40px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.3em;
    padding-top: 5px;
}

.top .news_container .right_container .news_list_container {
    width: 670px;
    padding: 25px 0 15px 15px;
}

.top .news_container .right_container .news_list_item {
    border-bottom:  1px solid #ccc;
    padding: 25px 10px;
}

.top .news_container .right_container .news_list_item a {
    display: flex;
}

.top .news_container .right_container .news_list_item a span {
    width: 20%;
}

.top .news_container .right_container .news_list_item a em {
    width: 80%;
    font-style: normal;
    font-weight: normal;
}


/*sec02 --------------------------------*/

.top .company_container {
    width: 860px;
    margin: 0 auto;
    display: flex;
}

.top .company_container .txt_container {
    width: 680px;
    padding-right: 20px;
    box-sizing: border-box;
}

.top .company_container .img_container {
    width: 180px;
}

.top .company_container .btn_container a {
    width: 200px;
    height: 30px;
    font-size: 14px;
    font-weight: normal;
    line-height: 30px;
    margin: 0;
    
}


/*sec03 --------------------------------*/

.top .sec03 {
    position: relative;
    padding: 0;
}

.top .sec03:after {
    content: "";
    display: block;
    border-top: 60px solid #fff;
    border-right: 90px solid transparent;
    border-left: 90px solid transparent;
    position: absolute;
    top: -1px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.top .sec03 .sec03_list_container {
    width: 100%;
    height: 450px;
    display: flex;
}

.top .sec03 .sec03_list_item {
    width: 50%;
}

.top .sec03 .sec03_list_item a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-top: 195px;
}

.top .sec03 .sec03_list_item:first-child a {
    background: url('../img/top/sec03_obj_01.png') center center no-repeat;
    background-size: cover;
}

.top .sec03 .sec03_list_item:last-child a {
    background: url('../img/top/sec03_obj_02.png') center center no-repeat;
    background-size: cover;
}

.top .sec03 .sec03_list_item a span {
    display: block;
    width: 300px;
    height: 60px;
    margin: 0 auto;
    background-color: rgba(0,146,215,.6);
    border: 1px solid #fff;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 60px;
    position: relative;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.top .sec03 .sec03_list_item a span:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    bottom: 3px;
    right: 3px;
}

.top .sec03 .sec03_list_item a:hover span {
    background-color: rgba(255,255,255,.6);
    border: 1px solid #0092d7;
    color: #0092d7;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.top .sec03 .sec03_list_item a:hover span:after {
    border-right: 2px solid #0092d7;
    border-bottom: 2px solid #0092d7;
}


/*sec04 --------------------------------*/

.online_consul_wrap {
    width: 100%;
    height: calc(30.5vw + 80px);
    position: relative;
    background: #0092d7 url('../img/top/sec04_obj_01_pc.png') center 80px no-repeat;
    background-size: contain;
    box-sizing: border-box;
}

.online_consul_wrap:after {
    content: "";
    display: block;
    border-top: 60px solid #0092d7;
    border-right: 90px solid transparent;
    border-left: 90px solid transparent;
    position: absolute;
    top: 79px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.online_consul_wrap .sec_tit {
    padding-top: 6.94vw;
}

.online_consul_wrap .plain_txt {
    text-align: center;
}

.online_consul_wrap .btn_container {
    padding-top: 2.78vw;
}

.online_consul_wrap .btn_container a {
    background-color: rgba(0,146,215,.6);
}

.online_consul_wrap .btn_container a:hover {
    background-color: rgba(255,255,255,.6);
}


/*sec05 --------------------------------*/

.inquiry_wrap {
    background-color: #9fd9f6;
}

.inquiry_wrap .sec_tit {
    color: #fff;
}

.inquiry_wrap .inquiry_list_container {
    width: 1000px;
    margin: 0 auto;
    display: flex;
}

.inquiry_wrap .inquiry_list_item {
    width: 50%;
}

.inquiry_wrap .inquiry_list_item .inquiry_list_tit {
    font-size: 24px;
    font-weight: normal;
    color: #fff;
    text-align: center;
}

.inquiry_wrap .tel_container {
    display: block;
    width: 400px;
    height: 60px;
    margin: 20px auto 0;
    background-color: #0092d7;
    border: 1px solid #fff;
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 60px;
}

.inquiry_wrap .btn_container {
    padding-top: 20px;
}

.inquiry_wrap .btn_container a {
    width: 400px;
}

.inquiry_wrap .inquiry_list_note {
    font-size: 14px;
    color: #fff;
    text-align: center;
    padding-top: 5px;
}


/*sec06 --------------------------------*/

.bnr_wrap .bnr_list_container {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.bnr_wrap:after {
    content: "";
    display: block;
    border-top: 60px solid #9fd9f6;
    border-right: 90px solid transparent;
    border-left: 90px solid transparent;
    position: absolute;
    top: -1px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.bnr_wrap .bnr_list_item .bnr_ms_ad {
    width: 266px;
}

.bnr_wrap .bnr_list_item .bnr_aioi {
    width: 176px;
}

.bnr_wrap .bnr_list_item .bnr_gibraltar {
    width: 210px;
}

.bnr_wrap .bnr_list_item .bnr_metlife {
    width: 210px;
}

@media screen and (max-width: 1080px) and (min-width: 769px) {
    .bnr_wrap .bnr_list_container {
        width: 90vw;
        margin: 0 auto;
        flex-wrap: wrap;
    }

    .bnr_wrap .bnr_list_item {
        width: 50%;
        text-align: center;
    }

    .bnr_wrap .bnr_list_item:nth-child(n + 3) {
        padding-top: 30px;
    }
}


/*sec07 --------------------------------*/

.recruit_wrap {
    width: 100%;
    height: 500px;
    background: url('../img/top/recruit_bg.png') center center no-repeat;
    background-size: cover;
}

.recruit_wrap:after {
    content: "";
    display: block;
    border-top: 60px solid #fff;
    border-right: 90px solid transparent;
    border-left: 90px solid transparent;
    position: absolute;
    top: -1px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.recruit_wrap .recruit_tit {
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,.8);
    padding: 60px 0 40px;
}

.recruit_wrap .recruit_txt {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    letter-spacing: .1em;
    text-shadow: 2px 2px 2px rgba(0,0,0,.8);
    
}

.recruit_wrap .btn_container a {
    background-color: rgba(0,146,215,.6);
}

.recruit_wrap .btn_container a:hover {
    background-color: rgba(255,255,255,.6);
    color: #0092d7;
}



/*--------------------------------------*/

/*lower*/

/*--------------------------------------*/

/*mv_container --------------------------------*/

.lower .mv_container {
    width: 100%;
    height: 300px;
    background: url('../img/common/mv_bg.png') center 40px no-repeat;
    background-size: cover;
}

.lower .mv_container .catch {
    font-size: 45px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 4px rgba(0,0,0,.8);
    padding-top: 140px;
}

.lower .mv_container .catch .catch_logo {
    width: 15.28vw;
    margin-bottom: 1.74vw;
}



/*--------------------------------------*/

/*corporate*/

/*--------------------------------------*/

/*sec01 --------------------------------*/

.trigger_list_container {
    width: 1200px;
    margin: 0 auto;
    display: flex;
}

.trigger_list_item {
    width: calc(100% / 3);
}

.trigger_list_item .trigger_btn {
    width: 360px;
    height: 60px;
    margin: 0 auto;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 60px;
    cursor: pointer;
    position: relative;
}

.trigger_list_item:nth-child(1) .trigger_btn {
    background-color: #0077c0;
}

.trigger_list_item:nth-child(2) .trigger_btn {
    background-color: #f6a922;
}

.trigger_list_item:nth-child(3) .trigger_btn {
    background-color: #397f35;
}

.trigger_wrap.disabled .trigger_list_item .trigger_btn {
    background-color: #eee;
    cursor: default;
}

.trigger_list_item .trigger_btn:after {
    content: '';
    display: inline-block;
	border-top: 16px solid #0077c0;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
    position: absolute;
    bottom: -16px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_list_item:nth-child(2) .trigger_btn:after {
	border-top: 16px solid #f6a922;
}

.trigger_list_item:nth-child(3) .trigger_btn:after {
	border-top: 16px solid #397f35;
}

.trigger_wrap.disabled .trigger_list_item .trigger_btn:after {
	border-top: 16px solid #eee;
}

.trigger_wrap .select_container {
    width: 500px;
    margin: 50px auto 0;
    position: relative;
}

.trigger_wrap select {
    width: 500px;
    height: 50px;
    box-sizing: border-box;
    padding-left: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    color: #666;
    cursor: pointer;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_wrap select:focus {
    outline: none;
    border: 1px solid #0077c0;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_wrap select::-ms-expand {
    display: none;
}

.trigger_wrap .select_container:after {
    content: "";
    width: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #0077c0;
    position: absolute;
    right: 10px;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_wrap.disabled .select_container select {
    pointer-events: none;
    color: #999;
    background-color: #eee;
    border: 2px solid #eee;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_wrap.disabled　.select_container　select:focus {
    outline: none;
    border: 2px solid #eee;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_wrap.disabled .select_container:after {
    border-top: 8px solid #999;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.trigger_wrap .btn_container {
    padding-top: 30px;
}

.trigger_wrap .btn_container .reset {
    width: 300px;
    height: 40px;
    font-size: 20px;
    line-height: 40px;
    background-color: #ccc;
}

.trigger_wrap.disabled .btn_container .reset {
    pointer-events: none;
    background-color: #eee;
}

.trigger_wrap .btn_container .reset:hover {
    color: #ccc;
    background-color: #fff;
    border: 1px solid #ccc;
}

.trigger_wrap .btn_container .reset:after {
    display: none;
}

.target_wrap {
    min-height: 500px;
    padding-top: 50px;
    position: relative;
}

.target_list_container {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.target_list_item {
    width: calc(100% / 3);
    padding-bottom: 30px;
}

.product_container {
    display: block;
    width: 360px;
    height: 100%;
    margin: 0 auto;
    box-shadow: 1px 1px 4px rgba(0,0,0,.4);
    position: relative;
}

.product_container.disabled {
    cursor: default;
}

.target_list_item .rist_tit {
    width: 360px;
    height: 50px;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 50px;
    position: relative;
}

.target_list_item.color01 .rist_tit {
    background-color: #0077c0;
}

.target_list_item.color02 .rist_tit {
    background-color: #f6a922;
}

.target_list_item.color03 .rist_tit {
    background-color: #397f35;
}

.target_list_item.color04 .rist_tit {
    background-color: #ac1212;
}

.target_list_item.color05 .rist_tit {
    background-color: #18adde;
}

.target_list_item.color06 .rist_tit {
    background-color: #684487;
}

.target_list_item .rist_tit i {
    position: absolute;
    top: 50%;
    right: 15px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.target_list_item .rist_tit:after {
    content: '';
    display: inline-block;
	border-top: 16px solid #0077c0;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
    position: absolute;
    bottom: -16px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.target_list_item.risk02 .rist_tit:after {
	border-top: 16px solid #f6a922;
}

.target_list_item.risk03 .rist_tit:after {
	border-top: 16px solid #397f35;
}

.target_list_item.risk04 .rist_tit:after {
	border-top: 16px solid #ac1212;
}

.target_list_item.risk05 .rist_tit:after {
	border-top: 16px solid #18adde;
}

.target_list_item.risk06 .rist_tit:after {
	border-top: 16px solid #684487;
}

.target_list_item .cat_tit {
    width: 100%;
    height: 40px;
    font-size: 15px;
    color: #fff;
    text-align: center;
    line-height: 40px;
    position: absolute;
    top: 250px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
    z-index: 2;
}

.target_list_item.color01.cat01 .cat_tit {
    background-color: #1c94dd;
}

.target_list_item.color01.cat02 .cat_tit {
    background-color: #71add2;
}

.target_list_item.color01.cat03 .cat_tit {
    background-color: #7ac7eb;
}

.target_list_item.color01.cat04 .cat_tit {
    background-color: #6fa8c2;
}

.target_list_item.color02.cat01 .cat_tit {
    background-color: #f6d122;
}

.target_list_item.color02.cat02 .cat_tit {
    background-color: #e2cd1f;
}

.target_list_item.color02.cat03 .cat_tit {
    background-color: #c8ba43;
}

.target_list_item.color02.cat04 .cat_tit {
    background-color: #918c61;
}

.target_list_item.color02.cat05 .cat_tit {
    background-color: #6a6114;
}

.target_list_item.color03.cat01 .cat_tit {
    background-color: #109209;
}

.target_list_item.color03.cat02 .cat_tit {
    background-color: #517d4e;
}

.target_list_item.color03.cat03 .cat_tit {
    background-color: #82a481;
}

.target_list_item.color04.cat01 .cat_tit {
    background-color: #cb2525;
}

.target_list_item.color04.cat02 .cat_tit {
    background-color: #c95454;
}

.target_list_item.color04.cat03 .cat_tit {
    background-color: #f17878;
}

.target_list_item.color05.cat01 .cat_tit {
    background-color: #18adde;
}

.target_list_item.color05.cat02 .cat_tit {
    background-color: #70b6cd;
}

.target_list_item.color06.cat01 .cat_tit {
    background-color: #8668a0;
}

.target_list_item.color06.cat02 .cat_tit {
    background-color: #a976d4;
}

.target_list_item .txt_container {
    padding: 0 20px 20px;
}

.target_list_item .txt_container .product_tit {
    width: 100%;
    height: 60px;
    position: relative;
}

.target_list_item .txt_container .product_tit span {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2em;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.target_list_item.color01 .txt_container .product_tit span {
    color: #0077c0;
}

.target_list_item.color02 .txt_container .product_tit span {
    color: #f6a922;
}

.target_list_item.color03 .txt_container .product_tit span {
    color: #397f35;
}

.target_list_item.color04 .txt_container .product_tit span {
    color: #cb2525;
}

.target_list_item.color05 .txt_container .product_tit span {
    color: #18adde;
}

.target_list_item.color06 .txt_container .product_tit span {
    color: #684487;
}

.target_list_item .txt_container .product_txt {
    font-size: 14px;
}

.product07_note {
    display: none;
    width: 1200px;
    font-size: 14px;
    text-align: center;
    margin: 0 auto;
}

/*--------------------------------------*/

/*company*/

/*--------------------------------------*/

/*sec01 --------------------------------*/

.greet_container {
    width: 1000px;
    margin: 0 auto;
}

.greet_container .greet_tit {
    font-size: 30px;
    font-weight: 900;
    padding: 0 20px 20px;
    margin-bottom: 40px;
    border-bottom: 2px solid #0092d7;
}

.greet_container .plain_txt {
    padding: 0 20px 1em;
}

.greet_container .president_name {
    text-align: right;
    padding: 20px 20px 0 0;
}

.greet_container .president_name span {
    font-size: 24px;
    font-weight: bold;
    padding-left: 1em;
}


/*sec02 --------------------------------*/

.frame_container {
    width: 1000px;
    display: block;
    margin: 0 auto;
    box-sizing: border-box;
    border-top: 20px solid #533922;
    border-right: 20px solid #533922;
    border-bottom: 20px solid #644d39;
    border-left: 20px solid #644d39;
    border-image-slice: 1;
    box-shadow: inset 0 0 10px #000, 2px 2px 3px rgba(0,0,0,.6);
}

.philosophy_obj {
    position: relative;
    z-index: -1;
}

.author {
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    padding-top: 10px;
}


/*sec03 --------------------------------*/

.plain_table {
    width: 1000px;
    margin: 0 auto;
    border-spacing: 5px;
}

.plain_table tr:nth-child(odd) {
    background-color: #edf5f9;
}

.plain_table tr:nth-child(even) {
    background-color: #eee;
}

.plain_table th,
.plain_table td {
    padding: 20px 20px 20px 40px;
    vertical-align: top;
}

.plain_table th {
    width: 30%;
}

.plain_table td {
    width: 70%;
}

.plain_table td .hours_list_container {
    width: 13em;
    display: flex;
    flex-wrap: wrap;
}

.plain_table td .hours_list_container dt {
    width: 5em;
}

.plain_table td .hours_list_container dd {
    width: 8em;
}


/*sec04 --------------------------------*/

.map_container {
    width: 96%;
    height: 400px;
    margin: 0 auto;
    overflow: hidden;
}

.map_container iframe {
    margin-top: -160px;
}

.company .btn_container i {
    font-size: 20px;
}



/*--------------------------------------*/

/*staff*/

/*--------------------------------------*/

/*sec02 --------------------------------*/

.staff_list_container {
    width: 1000px;
    margin: 0 auto;
}

.staff_list_container .staff_list_item {
    width: 100%;
    box-sizing: border-box;
    padding: 30px;
    margin-bottom: 30px;
    background-color: #9fd9f6;
    display: flex;
    border-radius: 10px;
}

.bg_b .staff_list_container .staff_list_item {
    background-color: #fff;
}

.staff_list_container .staff_list_item .img_container {
    width: 30%;
    text-align: center;
}

.staff_list_container .staff_list_item .img_container .staff_obj01,
.staff_list_container .staff_list_item .img_container .staff_obj02,
.staff_list_container .staff_list_item .img_container .staff_obj04 {
    width: 100%;
}

.staff_list_container .staff_list_item .img_container .staff_obj03,
.staff_list_container .staff_list_item .img_container .staff_obj06,
.staff_list_container .staff_list_item .img_container .staff_obj07 {
    width: 80%;
}

.staff_list_container .staff_list_item .img_container .staff_obj05 {
    width: 94%;
}

.staff_list_container .staff_list_item .txt_container {
    width: 70%;
    box-sizing: border-box;
    padding-left: 50px;
}

.sec02 .staff_list_container .staff_list_item:first-child .img_container {
    width: 47%;
}

.sec02 .staff_list_container .staff_list_item:first-child .txt_container {
    width: 53%;
    padding-left: 0;
}

.sec02 .staff_list_container .staff_list_item:nth-child(3) .img_container {
    width: 40%;
}

.sec02 .staff_list_container .staff_list_item:nth-child(3) .txt_container {
    width: 60%;
    padding-left: 20px;
}

.staff_list_container .staff_list_item .staff_catch.pc {
    display: inline;
    font-size: 32px;
    position: relative;
}

.staff_list_container .staff_list_item .staff_catch.sp {
    display: none;
}

.staff_list_container .staff_list_item .staff_catch span {
    font-size: 32px;
    font-weight: 900;
    color: #333;
    padding: 0 5px 0 10px;
    position: relative;
    z-index: 2;
}

.staff_list_container .staff_list_item .staff_catch span:after {
    content: '';
    display: block;
    width: 100%;
    height: .6em;
    background-color: #edf5f9;
    position: absolute;
    top: 60%;
    left: 0;
    z-index: -1;
}

.staff_list_container .staff_list_item .staff_name {
    font-size: 40px;
    font-weight: 900;
    color: #333;
    padding: 20px 0 20px 15px;
    margin-bottom: 20px;
    border-bottom: 2px solid #0092d7;
}

.staff_list_container .staff_list_item .staff_name span {
    font-size: 20px;
    font-weight: normal;
    color: #d6e3e9;
    padding-left: 1em;
}

.staff_list_container .staff_list_item .staff_profile_list_container {
    display: flex;
    flex-wrap: wrap;
}

.staff_list_container .staff_list_item .staff_profile_list_container dt {
    color: #333;
    width: 7em;
    border-bottom: 1px solid #d6e3e9;
    box-sizing: border-box;
    padding: 15px;
}

.staff_list_container .staff_list_item .staff_profile_list_container dd {
    color: #333;
    width: calc(100% - 7em);
    border-bottom: 1px solid #d6e3e9;
    box-sizing: border-box;
    padding: 15px;
}

.staff_list_container .staff_list_item .staff_profile_list_container dt:nth-last-child(2),
.staff_list_container .staff_list_item .staff_profile_list_container dd:last-child {
    border-bottom: none;
}

.staff_list_container .staff_list_item:nth-child(even) {
    flex-flow: row-reverse;
}

.staff_list_container .staff_list_item:nth-child(even) .txt_container {
    padding-left: 0;
    padding-right: 50px;
}



/*----------------------------------------*/

/*inquiry*/

/*----------------------------------------*/

.inquiry .plain_table {
	margin-bottom: 40px;
}

input[type="text"] {
	width: 100%;
	height: 50px;
	font-size: 16px;
	background-color: #fff;
	border: none;
	box-sizing: border-box;
	padding: 5px;
}

input:focus,
textarea:focus {
	outline: 5px solid #0092d7;
}

textarea {
	width: 100%;
	height: 10em;
	font-size: 16px;
	background-color: #fff;
	border: none;
	box-sizing: border-box;
	padding: 5px;
}

input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 20px;
	width: 20px;
	vertical-align: -0.8rem;
	transition:all .15s ease-out 0s;
	color: #ddd;
	cursor: pointer;
	display: inline-block;
	margin: .4rem;
	outline: none;
	border-radius: 10%;
}

input[type="checkbox"]:before,input[type="checkbox"]:after {
	position: absolute;
	content: "";
	background: #fff;
	transition: all .2s ease-in-out;
}
input[type="checkbox"]:before {
	left: 2px;
	top: 6px;
	width: 0;
	height: 2px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}
input[type="checkbox"]:after {
	right: 9px;
	bottom: 3px;
	width: 2px;
	height: 0;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	transition-delay: .2s;
}
input[type="checkbox"]:checked:before {
	left: 1px;
	top: 10px;
	width: 6px;
	height: 2px;
}
input[type="checkbox"]:checked:after {
	right: 5px;
	bottom: 1px;
	width: 2px;
	height: 14px;
}
input[type="checkbox"]:indeterminate:before,input[type="checkbox"]:indeterminate:after {
	width: 7px;
	height: 2px;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}
input[type="checkbox"]:indeterminate:before {
	left: 1px;
	top: 7px;
}
input[type="checkbox"]:indeterminate:after {
	right: 1px;
	bottom: 7px;
}

input[type="checkbox"] {
	border: 2px solid #ccc;
	background-color: #fff;
}
input[type="checkbox"]:checked,input[type="checkbox"]:indeterminate {
	background: #0092d7;
	border: 2px solid #0092d7;
}



.formErrorContent {
	color: #cc0000;
	padding-top: 5px;
}

.req {
	background-color: #cc0000;
	color: #fff;
	font-size: 12px;
	letter-spacing: .2em;
	padding: 2px 5px;
	margin-left: 10px;
	border-radius: 5px;
}

.submit_container {
	text-align: center;
	padding-top: 10px;
    position: relative;
}

input[type="submit"] {
	display: block;
	margin: 0 auto;
	width: 500px;
	height: 60px;
	font-size: 22px;
    font-weight: 700;
	color: #fff;
	line-height: 60px;
	text-align: center;
    background-color: #0092d7;
    border: 1px solid #fff;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
    position: relative;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.submit_container:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    bottom: 3px;
    left: 50%;
	margin-left: 237px;
}

input[type="submit"].back,
.btn_container.back a {
	font-size: 22px;
	background-color: #eee;
	color: #666;
}

.btn_container.back a:hover {
    border: 1px solid #eee;
	color: #666;
}

.btn_container.back a:hover:after {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

.finish .btn_container a {
	font-size: 22px;
}

input[type="submit"]:focus,
input[type="submit"].back:focus{
	outline: none;
}


.btn_container.back {
	padding-top: 80px;
}

.error {
	color: #cc0000;
	font-size: 14px;
}

.inquiry .center {
	text-align: center;
}

.inquiry .center.mail {
	padding: 40px 0 80px;
}

.inquiry .plain_txt,
.section ul {
	padding-bottom: 20px;
}

.inquiry.confirm .plain_txt,
.inquiry.finish .plain_txt {
	color: #333;
	font-size: 16px;
	line-height: 1.5em;
}

.inquiry_txt {
	font-size: 16px;
	line-height: 2em;
	padding-bottom: 2em;
	text-align: center;
}



/*----------------------------------------*/

/*news*/

/*----------------------------------------*/

.news .news_list_container {
    width: 800px;
    margin: 0 auto 30px;
}

.news .news_list_container .news_list_item {
    padding: 30px;
    border-bottom: 3px solid #eee;
}

.news .news_list_container .news_list_item a {
    display: flex;
}

.news .news_list_container .news_list_item span {
    width: 20%;
}

.news .news_list_container .news_list_item em {
    width: 80%;
    font-style: normal;
}

.news .sec01 .btn_container a {
    font-size: 22px;
}

.news .news_tit {
    width: 1000px;
    margin: 0 auto 10px;
    font-size: 30px;
    font-weight: 700;
    box-sizing: border-box;
    padding: 0 20px 10px;
    border-bottom: 2px solid #0092d7;
}

.news .news_date {
    width: 1000px;
    margin: 0 auto 20px;
    padding: 0 20px;
    box-sizing: border-box;
    text-align: right;
}

.post_content {
    width: 1000px;
    background-color: #f1fbfe;
    box-sizing: border-box;
	margin: 0 auto 30px;
    padding: 30px;
}

.post_content p {
	font-size: 18px;
	line-height: 2em;
	padding-bottom: 2em;
}
.post_content img {
	max-width: 100%!important;
	height: auto;
	margin-bottom: 1.5em;
}
.post_content figure {
	margin: 0;
}
.post_content a {
	color: #0092d7;
	text-decoration: underline;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}
.post_content a:hover {
	opacity: .6;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}
.post_content h1 {
	font-size: 40px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h2 {
	font-size: 35px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h3 {
	font-size: 30px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h4 {
	font-size: 25px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h5 {
	font-size: 22px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h6 {
	font-size: 20px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content strong {
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content em {
	font-style: italic!important;
	padding-bottom: 1.5em;
}
.post_content ul {
	padding-left: 2em;
	padding-bottom: 1.5em;
}
.post_content ul li {
	list-style-type: disc;
	padding-bottom: 0;
	border: 0;
	line-height: 1em;
}
.post_content ol {
	padding-left: 2em;
	padding-bottom: 1.5em;
}
.post_content ol li {
	list-style-type: decimal;
	padding-bottom: 0;
	border: 0;
	line-height: 1.2em;
}
.post_content blockquote {
	margin: 10px;
	padding: 0 20px;
	background-color: rgba(0,0,0,.04);
}
.post_content blockquote:before {
	content: '“';
	font-size: 50px;
	line-height: 1em;
	height: 30px;
	display: block;
	padding-top: 10px;
	color: #0092d7;
}
.post_content blockquote:after {
	content: '”';
	font-size: 50px;
	line-height: 1em;
	height: 20px;
	color: #0092d7;
	display: block;
	padding-bottom: 10px;
	width: 100%;
	text-align: right;
}



/*----------------------------------------*/

/*recruit*/

/*----------------------------------------*/

.recruit .plain_table {
	margin-bottom: 40px;
}

.recruit .plain_table th p {
    font-weight: bold;
}

.recruit .plain_table td ul li {
    padding-left: 1em;
    text-indent: -1em;
}



/*----------------------------------------*/

/*policy*/

/*----------------------------------------*/

.policy_container {
	width: 1000px;
    margin: 0 auto;
}

dl.policy_list_container dt {
    font-size: 18px;
    font-weight: bold;
    border-bottom: 2px solid #0092d7;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

dl.policy_list_container dd {
    padding-bottom: 30px;
    line-height: 1.64em;
}

dl.policy_list_container dd strong {
    display: block;
    font-weight: 700;
    padding-bottom: .5em;
}

dl.policy_list_container dd ul {
    display: block;
}

dl.policy_list_container dd ul li {
    padding-left: 1em;
    text-indent: -1em;
}

.period {
    text-align: right;
    padding: 20px 10px 0 0;
}

.policy_txt {
    font-size: 22px;
    font-weight: bold;
    border-bottom: 2px solid #0092d7;
    padding-bottom: 10px;
    margin-bottom: 60px;
}

ul.policy_list_container li {
    padding: 0 0 1em 2em;
    text-indent: -2em;
}

dl.policy_list_container dd .recommend_list_container li {
    padding-left: 3em;
    text-indent: -3em;
}

dl.policy_list_container dd .recommend_list_container {
	padding-bottom: 1em;
}

.recommend_note {
	padding-left: 3em;
}

.signature_container {
    text-align: right;
    padding-top: 30px;
}

.signature_list_container {
    display: inline-block;
}

.privacy .signature_container > .signature_list_container {
    width: 13em;
}

.solicitation .signature_container > .signature_list_container {
    width: 13em;
}

.policy a:hover {
    text-decoration: underline;
}

