@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@700&family=Zen+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&family=Zen+Antique&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 0px;
	border: 0;
	border-bottom: 1px solid #000;
	margin: 0;
	padding: 0;
}
input, select { 
/*	vertical-align: middle;*/
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
*, *:before, *:after { box-sizing: border-box;}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #333333;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #333333; text-decoration: none;}
a:hover, a:active { color: #0074d6;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}
.lh23 { line-height: 2.3;}

.ls01 { letter-spacing: 0.1em;}
.ls02 { letter-spacing: 0.2em;}

.fo_noto { font-family: 'Noto Sans JP', sans-serif;}
.fo_zen-antique-regular {
  font-family: "Zen Antique", serif;
  font-weight: 400;
  font-style: normal;
}


.fo_white { color: #FFFFFF;}
.fo_blue { color: #1565C0;}
.fo_red { color: #ff0000;}

/* ボックス */
.container { max-width: 1100px; padding: 0px 15px; margin: 0px auto;}
.container2 { max-width: 1500px; padding: 0px 15px; margin: 0px auto;}
.container3 { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}
.ttl_container{ max-width: 1500px; padding: 0px 15px; margin: 0px auto;}

.width800 { max-width: 800px; margin: auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff !important;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { 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;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { 
	display: flex; 
	align-items: center; 
	padding: 25px;
}

.header h1 img{width: 300px;}


.gn { display: flex; align-items: center;margin-left: auto;margin-right: 10em;}
.gn > li:not(:first-child) { margin-left: 2em;}

/* ドロップダウンメニュー */
.gn .dd {
	position: relative;
	z-index: 999999;
	cursor: pointer;
}
.gn .dd ul {
	width: 370px;
	background: #fff;
	position: absolute;
	display: none;
	padding: 1em 1.2em;
	left: 0px;
	font-size: 0.95rem;
	margin-left: -65px;
	text-align: left;
	line-height: 2.2;
}
.gn .dd a { text-decoration: none;}
.gn .dd a:hover { color: #0074d6;}

/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #FFFFFF;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 1.5em;
	right: 3em;
	width: 55px;
	height: 55px;
	z-index: 1000001;
	border-radius: 50px;
	border: 1px solid #1565C0;
}
.humberger span {
	background: #1565C0;
	border-radius: 15px;
	position: absolute;
	left: 16px;
	width: 21px;
	height: 2px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 19px;}
.humberger span:nth-of-type(2) { top: 27px;}
.humberger span:nth-of-type(3) { top: 35px;}
.humberger:after {
	color: #fff;
	content: '';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: '';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}

.sp-navi.is-open{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
    background: rgba(130, 170, 216,.5);
    display: block;
}

.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 1000000;
	display: flex;
	flex-flow: column;
	justify-content:space-between;
}
.sp-navi .sp-navi-inner {
	background: #FFFFFF;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	height: 100%;
	width: 100%;
	right: 0;
	max-width: 390px;
	transition: .5s;
	padding-bottom: 30px;
}

.sp-navi .sp-navi-inner .navi-main{
	margin-top: 200px;
}

.sp-navi .sp-navi-inner .navi-main > li {
	position: relative;
}

.sp-navi .sp-navi-inner .navi-main > li > a{
	font-size: 1.5em;
	font-weight: bold;
	color: #1565C0;
	display: block;
	padding: 20px 10px 20px 50px;
	overflow: hidden;
	line-height: 1.3em;
	text-decoration: none;
}

.sp-navi .sp-navi-inner .navi-main > li:nth-of-type(4) > a{
	padding-bottom: 0;
}
.sp-navi .sp-navi-inner .navi-main > li > span {
	display: block;
	padding: 13px 10px 13px 35px;
	overflow: hidden;
	line-height: 1.3em;
	text-decoration: none;
	cursor: pointer;
	font-weight: normal;
}
.sp-navi .sp-navi-inner .navi-main > li > ul > li { width: 100%;}
.sp-navi .sp-navi-inner .navi-main > li > ul > li > a {
	display: block;
	font-size: 1em;
	line-height: 1.3em;
	padding: 20px 10px 0px 60px;
	position: relative;
	text-decoration: none;
	color: #333333;
	font-weight: bold;
}
.sp-navi .sp-navi-inner .navi-main > li > ul > li > a:before {
	background: #333333;
	content: "";
	height: 1px;
	width: 5px;
	position: absolute;
	left: 3.5em;
	top: 2em;
}

.sp-navi-inner > div{
	width: 290px;
	margin-left: auto;
	margin-right: auto;
}

.sp-navi-inner > div > a{
	display: block;
}

.sp-navi-inner > div > a:nth-of-type(1){
	margin-bottom: 10px;
}

.sp-navi .sp-navi-inner .navi-main a:hover{
	text-decoration: underline;
}

.sp-navi .logo { padding: 0px 60px 0px 10px; line-height: 50px; display: flex; justify-content: space-between; align-items: center;}
.sp-navi .logo img { vertical-align: middle;}

html.is-fixed{position: fixed;width: 100%;overflow-y: auto;}
html.is-fixed body {height: 100%;overflow: hidden;}

/* ------------------------
	フッター
------------------------ */

.footer .bg02 { background: #484848; background-size: cover; padding: 50px 0px 0px;}
.footer .bg02 .container2 { display: flex; justify-content: space-between;}
.footer .bg02 a { color: #fff;}
.footer .bg02 a:hover { text-decoration: underline;}
.footer_nav { display: flex;}
.footer_nav ul:first-child { margin-right: 2em;}
.footer_nav ul ul li { position: relative; padding-left: 3em; margin: 5px auto;}
.footer_nav ul ul li:before { content: ""; position: absolute; width: 1em; height: 2px; background: #fff; left: 1em; top: 50%; transform: translateY(-50%);}

.footer .bg02 .box03 {background: #1565C0; justify-content: space-between; align-items: center; padding: 20px 15px;}
.footer .bg02 .box03 .container2 {display: flex;}
.footer .bg02 .box03 .copy {opacity: 0.5;}
.footer .bg02 .box03 ul { display: flex;}
.footer .bg02 .box03 li:last-child { margin-left: 2em;}

.footer .box04 a{display: block; transition: all 0.3s 0s ease-in-out;}
.footer .box04 a:hover{opacity: 0.7;}

.pagetop { position: fixed; right: 30px; bottom: 0px; padding-bottom: 50px; z-index: 9999;}
.pagetop a { display: flex; justify-content: center; align-items: center; border: solid 2px #0074d6; border-radius: 5px; background: #0074d6; width: 60px; height: 50px; padding-top: 7px; transition: 0.2s;}
.pagetop a:after {
	content: "";
    width: 15px;
    height: 15px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
	transition: 0.2s;
}
.pagetop a:hover { background: #fff;}
.pagetop a:hover:after { border-color: #0074d6;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.viewer {
	line-height: 0px;
	margin: 0 auto;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.viewer ul {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.viewer ul li {
	top: 0;
	left: 0;
	width: 100%;
	position: absolute;
}
.viewer ul li img { width: 100%;}

.slider_wrap .pos_ab { width: 100%; left: 0px; top: 0px; z-index: 100;}

.top_sec01{
	position: relative;
	z-index: 99998;
	width: 100%;
	overflow: hidden;
	margin-bottom: 0px;
	padding-bottom: 200px;
}

/*.top_sec01 figure:nth-of-type(1){
	margin-bottom: 20px;
}*/

.top_sec01 p{
	position: absolute;
	z-index: 99999;
	font-size: 3em;
	background-color: white;
	padding-left: 1.0em;
	transform: translateY(-50%);
}

.top_sec01 p:nth-of-type(1){width: 24%; min-width: 440px;top: 45%;}
.top_sec01 p:nth-of-type(2){width: 24%;	min-width: 440px;top: 56%;}

.top_sec01 h2{
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 700;
    font-style: normal;
	font-size: 2.375em;
	color: #1565C0;
}

.top_sec01 > figure{
	width: 21%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	right: 10%;
    z-index: 1000000;
}

@media only screen and (max-width: 1600px) {
	.top_sec01 p{font-size: 2.5em;padding-left: 1.0em;}
	.top_sec01 p:nth-of-type(1){width: 24%; min-width: 390px;top: 45%;}
	.top_sec01 p:nth-of-type(2){width: 24%;	min-width: 390px;top: 55%;}
	.top_sec01 > figure{width: 19%;top: 40%;right: 7%;}
}

@media only screen and (max-width: 1400px) {
	.top_sec01 p{font-size: 2.5em;padding-left: 1.0em;}
	.top_sec01 p:nth-of-type(1){width: 24%; min-width: 390px;top: 40%;}
	.top_sec01 p:nth-of-type(2){width: 24%;	min-width: 390px;top: 51%;}
	.top_sec01 > figure{width: 19%;top: 40%;right: 7%;}
}

@media only screen and (max-width: 1200px) {
	.top_sec01 p{font-size: 2.5em;padding-left: 1.0em;}
	.top_sec01 p:nth-of-type(1){width: 24%; min-width: 390px;top: 35%;}
	.top_sec01 p:nth-of-type(2){width: 24%;	min-width: 390px;top: 47%;}
	.top_sec01 > figure{width: 19%;top: 40%;right: 7%;}
}



.top_sec02{
	background-color: #FFFFFF;
	margin-bottom: 100px;
}

.top_sec02 h2{
	background-color: #F1F8FF;
	color: #1565C0;
	width: 21.8%;
	text-align: right;
	padding-right: 57px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 2.375em;
}

.top_sec02 .box01{
	display: flex;
	width: 89%;
	margin-left: auto;
}

.top_sec02 .box01 > div{
	width: 40.9%;
}

.top_sec02 .box01 > div h3{
	font-size: 1.5em;
	margin-bottom: 20px;
}

.top_sec02 .box01 > div p{margin-bottom: 75px;}
.top_sec02 .box01 > div a {
    position: relative;
    display: inline-flex;
	transition: all .3s ease-out;
}
.top_sec02 .box01 > div a:hover{opacity: 0.7;}
.top_sec02 .box01 > figure{
	width: 56.1%;
	margin-left: auto;
	max-width: 960px;
	margin-top: -10%;
}

.top_sec03{background-color: #82AAD8;padding: 100px 15px;margin-bottom: 100px;}
.top_sec03 .container2{background-color: white;	box-shadow: 0px 0px 15px #00000033;	padding: 60px 20px;}
.top_sec03 .container2 > h2{margin-bottom: 35px;color: #1565C0;font-size: 2.375em;}
.top_sec03 .container2 > p{font-size: 1.5em;}
.top_sec03 .container2 ul{display: flex;justify-content: center;gap:10px;margin-bottom: 40px;}
.top_sec03 .container2 ul li{width: 30%;max-width: 438px;margin:0 auto;overflow: hidden;text-align: center;}
.top_sec03 .container2 ul li figure{text-align: center;max-width: 438px;margin:0 auto;overflow: hidden;border: 1px solid #707070;}
.top_sec03 .container2 ul li figure img{transition: .3s all;}
.top_sec03 .container2 ul li a{text-align: center;}
.top_sec03 .container2 ul li a span{
    margin-top: 20px;
    color: #333333;
    font-size: 1.625em;
    position: relative;
    display: inline-block;
    padding-right: 40px;
}

.top_sec03 .container2 ul li a span::after{
    content: "";
    display: block;
    width: 18px;
    height: 16px;
    background: url("../images/common/arrow_right_blue.svg") no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.top_sec03 .container2 ul li a:hover span{color: #1565C0;	text-decoration-line: underline;}
.top_sec03 .container2 ul li a:hover figure img{transform: scale(1.1);}
.top_sec03 .container2 .box02{max-width: 450px;margin-left: auto;margin-right: auto;}
.top_sec03 .container2 .box02 a{transition: all 0.3s 0s ease-in-out;}
.top_sec03 .container2 .box02 a:hover{opacity: 0.7;}

.top_sec04{
	background: url("../images/top/top_sec04_01.svg") no-repeat center center; 
	padding-bottom: 120px;
}

.top_sec04 .box01{
	display: flex;
	width: 89%;
	margin-left: auto;
}

.top_sec04 .box01 > figure{
	width: 43.9%;
	max-width: 750px;
}

.top_sec04 .box01 .box02{
	width: 52.6%;
	margin-left: auto;
}

.top_sec04 .box01 .box02 h2{
	background-color: #F1F8FF;
	color: #1565C0;
	text-align: left;
	padding-left: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 2.375em;
}

.top_sec04 .box01 .box02 p{
	font-size: 1.5em;
	padding-left: 20px;
	margin-bottom: 75px;
}

.top_sec04 .box01 .box02 a {
    transition: all 0.3s 0s ease-in-out;
}

.top_sec04 .box01 .box02 a:hover{
	opacity: 0.7;
}

/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

/* 共通 */
.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.more_btn a { display: inline-block; color: #fff; text-decoration: none; background: linear-gradient(to right, #05a397 0%, #0074d6 100%); border-radius: 60px; line-height: 1.6; padding: 10px 1.3em 10px 2em; text-align: center; font-size: 1.15em; font-weight: bold;}
.more_btn a:after { content: ""; display: inline-block; background: url("../images/common/btn_arrow.svg") no-repeat center center; background-size: 100% auto; width: 3em; height: 0.5em; vertical-align: middle; margin-left: 0.7em; transition: 0.3s;}
.more_btn a:hover:after { transform: translateX(0.5em);}

.more_btn02 a {
	background: linear-gradient(to right, rgba(5,163,151,0.8) 0%, rgba(0,116,214,0.8) 100%);
	display: inline-block;
	padding: 2px;
	border-radius: 60px;
	min-width: 235px;
	color: #001842;
	text-decoration: none;
	font-size: 1.1em;
	line-height: 1.6;
	letter-spacing: 0.1em;
	transition: 0.3s;
}
.more_btn02 a span {
	display: block;
	border-radius: 60px;
	background: #fff;
	padding: 0.6em 1.5em;
	position: relative;
}
.more_btn02 a span:after { content: ""; position: absolute; width: 0.91em; height: 1em; background: url("../images/common/ico_link.svg") no-repeat center center; background-size: 100% auto; right: 1.7em; top: 50%; transform: translateY(-50%);}
.more_btn02 a:hover { transform: translateX(5px);}

.pagettl { background: #F1F8FF; font-size: 2.375em; letter-spacing: 0.1em; padding: 50px 0px;}

.heading_btmline { display: table; letter-spacing: 0.1em; font-size: 1.75em; line-height: 1.4; padding-bottom: 8px;}
/*.heading_btmline:after { content: ""; position: absolute; left: 0px; width: 100%; height: 2px; bottom: 0px; background: #0074d6;}*/

.heading_middle { font-size: 1.8em;}


/* ------------------------
	company
------------------------ */

.com_sec01 h3,.com_sec02 h3,.com_sec03 h3,.com_sec04 h3,.com_sec05 h3,.com_sec06 h3{
    display: block;
    border-bottom: 3px solid #1565C0;
}
.com_sec01 table { width: 100%;  margin: auto;}
.com_sec01 th, .com_sec01 td { border-bottom: 1px solid #707070; padding: 0.8em 0px;}
.com_sec01 th { width: 10em; font-weight: bold;}

.com_sec02 .box01{display: flex;justify-content: space-between;}
.com_sec02 .box01 figure{width: 25.5%;}
.com_sec02 .box01 p:first-of-type{width: 69%;}
.com_sec02 .box01 p span:nth-of-type(1){font-size: 1.1em;}
.com_sec02 > p span:nth-of-type(2){font-size: 1.5em;margin-left: 20px;}

.com_sec03 section { display: flex;flex-wrap: wrap;}
.com_sec03 section iframe { width: 29%;height: 230px}
.com_sec03 section .box_inner { width: 60%;margin-left: 20px;margin-top: auto;margin-bottom: auto;}
.com_sec03 section .box_inner p{font-size: 1.125em;}
.com_sec03 section .map { width: 30%;}
/*.com_sec03 iframe { width: 100%; height: 200px; vertical-align: top;}*/

.com_sec04 th, .com_sec04 td {padding-bottom: 1.2em; text-align: left;}
.com_sec04 th { width: 10em;color: #1565C0;}
.com_sec04 th .year{font-size: 1.375em;font-weight: bold;}
.com_sec04 th .month{font-size: 1.125em;font-weight: bold;margin-left: 0.5em;}
.com_sec04 td{position: relative;font-size: 1.125em;}
.com_sec04 td .circle{
	position: absolute;
	display: inline-block;
	width: 15px;
	height: 15px;
	text-align:center;
	border-radius: 50%;
	left: -1.5em;
	top: 0.55em;
	color: white;
	font-size: 1.25em;
	background-color: #1565C0;
}
.com_sec04 tr:not(:last-child) td:before{
    content: "";
    position: absolute;
    width: 2px;
    height: calc(100% + 13px);
    left: -1.53em;
    top: 13px;
    background: #1565C0;
}

.com_sec05 > div{background-image: linear-gradient(180deg, rgba(130, 170, 216, 1), rgba(21, 101, 192, 1));color: white;padding: 40px 15px;text-align: center;}
.com_sec05 > div > h4{margin-bottom: 5px;line-height: 1em;}
.com_sec05 > div > p{margin-bottom: 0;}
.com_sec05 > div > p:first-of-type{margin-bottom: 20px;line-height: 1em;}
.com_sec05 > div > div{background-color: white;width: 2em;height: 3px;margin: 0 auto 30px;}

.com_sec06 .box01 { display: flex; justify-content: space-between; gap: 20px;}
.com_sec06 .box01 figcaption{font-size: 1.1em;font-weight: bold;}


/* ------------------------
	voice
------------------------ */
.voice_sec01 h2,.voice_sec02 h2,.voice_sec03 h2{font-size: 1.75em; margin-bottom: 70px;position: relative;}
.voice_sec01 h2::after,.voice_sec02 h2::after,.voice_sec03 h2::after{
	content: '';
	width: 50px;
	height: 3px;
	display: inline-block;
	background-color: #1565C0;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 25px);
}

.voice_sec01 ul{display: flex;justify-content: center;gap:20px;flex-wrap: wrap;}
.voice_sec01 ul li{border: 1px solid #707070;position: relative;padding: 50px 1px 30px;margin-bottom: 50px;width: 31%;}
.voice_sec01 ul li:nth-of-type(4){padding: 66px 1px 45px;margin-bottom: 0px;}
.voice_sec01 ul li:nth-of-type(5){padding: 50px 1px 30px;margin-bottom: 0px;}
.voice_sec01 ul li:nth-of-type(6){padding: 66px 1px 45px;margin-bottom: 0px;}
.voice_sec01 ul li img{position: absolute;transform: translate(-50%,-50%);top: -8px}
.voice_sec01 ul li p{font-size: 1.1em;font-weight: bold;}

.voice_sec03 .box01{
    display: flex;
    justify-content: center;
    gap:80px;
    padding: 40px;
}
.voice_sec03 .box02{min-width: 400px;margin-top: auto;}
.voice_sec03 .box02 p:nth-of-type(1){font-size: 1.1em;margin-bottom: 50px;}
.voice_sec03 .box02 p:nth-of-type(2){font-size: 1.5em;margin-bottom: 40px;background-color: #FFF8A8;width: 13em;padding: 5px 20px;}
.voice_sec03 .box02 p:nth-of-type(3){border-bottom: 2px dashed #707070;}

.accordion {width: 100%;margin: 0 auto;}
.accordion-item {
  border: 1px solid #D8EBFF;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
}

.accordion-header {
  background-color: #D8EBFF;
  padding: 15px 40px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 10px;
  position: relative;
}

.accordion-header.open {
  border-radius: 20px 20px 0 0;
}

.accordion-header span{
    font-weight: bold;
    font-size: 1.125em;
    width: calc(100% - 50px);
}

.accordion-content {
  display: none;
  padding: 15px 40px;
  background-color: white;
  border-top: none;
}

.toggle-button {
  width: 50px;
  height: 50px;
  border-radius: 50%; 
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.toggle-button::before,
.toggle-button::after {
  content: "";
  position: absolute;
  background-color: #1565C0;
  transition: transform 0.3s ease;
}

.toggle-button::before {
  width: 20px;
  height: 3px;
}

.toggle-button::after {
  width: 3px;
  height: 20px;
}

.open .toggle-button::after {
  transform: rotate(90deg);
}



/* ------------------------
	contact
------------------------ */

.con_sec01 .list01 { display: flex; justify-content: center;}
.con_sec01 .list01 li:first-child { margin-right: 10%;}
.con_sec01 .list01 .tel { font-size: 2.3em;}

.con_sec02 a:hover { text-decoration: underline;}

.contact_sec dl { display: table; width: 100%; border-bottom: solid 1px #808080; padding: 1.3em 0px;}
.contact_sec dl:first-of-type { border-top: solid 1px #808080;}
.contact_sec dl > * { display: table-cell; vertical-align: middle;}
.contact_sec dt { width: 15em; padding-right: 1em; font-size: 1.1em;}
.contact_sec dt .hissu { float: right; margin-top: 0.4em; font-size: 0.8em;}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 17px;
	padding: 0.5em 0.7em;
	background-color: #f2f2f2;
	border: none;
	vertical-align: bottom;
	max-width: 100%;
}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea { width: 100%;}
.contact_sec .width_auto input[type="text"] { width: auto;}

.contact_sec .btn_area input {
	display: inline-block;
	width: 270px;
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
	color: #fff;
	font-size: 1.25em;
	text-decoration: none;
	text-align: center;
    background: url("../images/contact/arrow_right.svg") no-repeat calc(100% - 8px) center, #1565C0;
	background-size: 50px auto, auto;
	border: none;
	border-radius: 35px;
	padding: 0.9em 3em 0.9em 1em;
	outline: none;
	cursor: pointer;
	margin: 0px 10px 15px;
	-webkit-appearance: none;
	transition: 0.3s;
}
.contact_sec .btn_area input:hover { transform: translateX(5px);}
.contact_sec .btn_area input:focus { outline: 0;}

.wpcf7-spinner { display: block; margin: auto;}
.wpcf7-list-item { 
/*	margin: 0px; display: block;*/
}

/* ------------------------
	products
------------------------ */
.pro_sec01 h3,.pro_sec02 h3,.pro_sec03 h3,.pro_sec04 h3{
	background-color: #82AAD8;
	font-size: 1.5em;
	color: #FFFFFF;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 20px;
	border-radius: 25px;
}

.pro_sec01 .box01{display: flex;}
.pro_sec01 .box02{width: 67%;}
.pro_sec01 .box02 h4{
    font-size: 1.75em;
    margin-bottom: 20px;
}
.pro_sec01 .box02 ul{display: flex; gap: 25px; flex-wrap: wrap;}
.pro_sec01 .box02 ul li{width: 20%;}
.pro_sec01 .box01 > figure{max-width: 246px;}


.pro_sec02 ul{display: flex;flex-wrap: wrap;}
.pro_sec02 ul li{width: 33%;max-width: 480px;}
.pro_sec02 ul li:last-child{margin-left: 30px;}

.pro_sec02 ul li a{transition: all 0.3s 0s ease-in-out;display: block;}
.pro_sec02 ul li a:hover{opacity: 0.7;}

.pro_sec03 > div{display: flex; gap:100px;}
.pro_sec03 > div > figure:nth-of-type(1){max-width: 770px;}


/* products */
.pro_list a { display: flex; justify-content: space-between; border-bottom: solid 1px #000; padding-bottom: 40px; margin-bottom: 40px; align-items: flex-start;}
.pro_list a figure { width: 20%;}
.pro_list a figure img { transition: 0.3s;}
.pro_list a:hover figure img { transform: scale(1.05);}
.pro_list a .box_inner { width: 75%;}
.pro_list a h4 { display: table; border-bottom: solid 2px #0074d6; font-size: 1.4em; line-height: 1.4;}

.pro_art h1 { border-left: solid 6px #0074d6; font-size: 1.7em; line-height: 1.4; padding-left: 0.6em;}
.pro_art .heading_btmline02 { border-bottom: solid 2px #0074d6; padding: 0px 1em 0.2em;}
.pro_inner { max-width: 900px; margin: auto;}
.pro_art .box01 { display: flex; justify-content: space-between; align-items: flex-start;}
.pro_art .box01 > * { width: 48%;}



.iframe_wrap { position: relative; width: 100%; padding-top: 56.25%;}
.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
