@charset "utf-8";

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

	グローバル

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

body { min-width: 0px; font-size: 0.9em; line-height: 1.8;}

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

.hidden_s { display: none !important;}

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

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

.header { padding: 0px 60px 0px 10px; line-height: 50px;}
.header h1 img { vertical-align: middle; width: 206px;}

select.sp_lang { border: solid 1px #000; border-radius: 3px; padding: 0.2em 0.4em; margin-left: 1em;}

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

.humberger {
	top: 0.3em;
	right: 1em;
	width: 45px;
	height: 45px;
	z-index: 1000001;
}

.humberger span {left: 12px;width: 20px;}

.humberger span:nth-of-type(1) { top: 14px;}
.humberger span:nth-of-type(2) { top: 21px;}
.humberger span:nth-of-type(3) { top: 28px;}
.humberger:after {left: 0;bottom: 1px;width: 100%;}
.is-open .humberger:after { content: '';}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
	  -ms-transform: translateY(-8px) rotate(45deg);
		  transform: translateY(-8px) rotate(45deg);
}

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

.footer .bg02 .container2 { display: block; }
.footer .box01 p{text-align: center;margin-bottom: 40px;}

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

	トップページ

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

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

/*.top_sec01 figure:nth-of-type(1){
	display: flex;
	justify-content:center;
	margin-bottom: 40px;
}*/

.top_sec01 p{font-size: 2.5em;padding-left: 1.0em;}
.top_sec01 p:nth-of-type(1){width: 24%; min-width: 360px;top: 12%;}
.top_sec01 p:nth-of-type(2){width: 24%;	min-width: 360px;top: 19%;}
.top_sec01 > figure{width: 52.5%; min-width: 210px; top: 60%;right: 7%;}

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

@media only screen and (max-width: 500px) {
	.top_sec01 p{font-size: 1.7em;padding-left: 1.0em;}
	.top_sec01 p:nth-of-type(1){width: 24%; min-width: 240px;top: 15%;}
	.top_sec01 p:nth-of-type(2){width: 24%;	min-width: 240px;top: 23%;}
	.top_sec01 > figure{top: 55%;right: 7%;}
}

.top_sec02 h2{
	width: 40%;
	text-align: right;
	padding-right: 30px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 1.5em;
}
.top_sec02 .box01{display: block;width: 100%;padding: 0px 15px; margin: 0px auto;}
.top_sec02 .box01 > div{width: 100%;}
.top_sec02 .box01 > div h3{font-size: 1.3em;}
.top_sec02 .box01 > div p{margin-bottom: 20px;}
.top_sec02 .box01 > div a {display: block;margin-bottom: 40px;}

.top_sec02 .box01 > figure{
	width: 100%;
	margin-left: auto;
	max-width: 960px;
	margin-top: 0%;
}



.top_sec03{padding: 60px 15px;margin-bottom: 60px;}
.top_sec03 .container2{padding: 30px 20px;}
.top_sec03 .container2 ul{display: block;justify-content: space-around;margin-bottom: 40px;}
.top_sec03 .container2 > h2{margin-bottom: 20px;color: #1565C0;font-size: 1.5em;}
.top_sec03 .container2 > p{font-size: 0.9em;}
.top_sec03 .container2 ul li{width: 100%;margin-bottom: 40px;}
.top_sec03 .container2 ul li figure{max-width: 318px;}
.top_sec03 .container2 ul li a span{font-size: 1.3em;}
.top_sec03 .container2 ul li:last-child{margin-left: auto;margin-right: auto;}

.top_sec04{padding-bottom: 40px;}

.top_sec04 .box01{
	display: block;
	width: 100%;
	margin-left: auto;
}



.top_sec04 .box01 > figure{width: 100%;margin-left: auto;margin-right: auto;}
.top_sec04 .box01 .box02{width: 100%;margin-left: 0}

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

.top_sec04 .box01 .box02 p{
	font-size: 1.2em;
	padding: 0px 15px;
	margin-bottom: 40px;
}

.top_sec04 .box01 .box02 a {
	padding: 0px 15px;
}


.top_ttl { font-size: 2em; padding: 20px 0px;}
.top_ttl .pos_ab { max-height: 50px; width: auto; bottom: 20px;}

.top_sec04 h2 { font-size: 1.8em;}
.news_dl a:after { right: 0.2em; width: 12px; height: 12px;}
.news_dl a:hover:after { right: -0.2em;}
.news_dl dl { padding-right: 25px;}
.news_dl dt { width: 6.5em; padding-left: 0px;}
.news_dl .category { width: 8em; padding-right: 1em;}

@media only screen and (max-width: 640px) {
	.top_sec03 .list01 li { width: 48%; font-size: 1em;}

	.news_dl dl { display: block;}
	.news_dl dl > * { display: inline-block;}
	.news_dl dt, .news_dl .category { width: auto; margin: 0px 0.5em 5px 0px;}
	.news_dl dd:last-child { display: block;}
}

@media only screen and (max-width: 480px) {
	.top_sec03 .list01 li { font-size: 3.5vw;}
	.top_sec03 .box01 { display: block;}
	.top_sec03 .box01 figure { width: auto; max-width: 270px; margin: 0px auto 25px;}
	.top_sec03 .box01 .box_inner { width: auto;}
	.top_sec03 .box01 .more_btn { text-align: center;}
}


/* ------------------------
	コンテンツ
------------------------ */

.pagettl { padding: 1.2em 0px;font-size: 1.5em;}


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

.com_sec01 th { width: 7em;}

.com_sec02 .box01{display: block;}
.com_sec02 .box01 figure{width: 100%;max-width: 280px; margin: 0 auto 1em;}
.com_sec02 .box01 p:first-of-type{width: 100%;margin-left: auto;margin-right: auto;}


.com_sec03 section iframe { width: 100%;margin-bottom: 20px;}
.com_sec03 section .box_inner { width: calc(100% - 180px);margin-left: 0;}
.com_sec03 section .map { width: 100%; margin: 20px 0px;}

.com_sec04 th { width: 8.5em;}

.com_sec05 > div{padding: 20px 15px;text-align: left;}
.com_sec05 > div > h4{margin-bottom: 0px;text-align: center;}
.com_sec05 > div > p:first-of-type{margin-bottom: 10px;text-align: center;}

.com_sec06 .box01{display: block;}
.com_sec06 .box01 figure{max-width: 350px; margin-left: auto;margin-right: auto;}
.com_sec06 .box01 figure:not(:last-of-type){margin-bottom: 20px;}

@media only screen and (max-width: 480px) {
	.com_sec03 section.mb25 { display: block; margin-bottom: 50px !important;}
	.com_sec03 section figure { width: auto; margin-bottom: 20px;}
	.com_sec03 section .box_inner { width: auto;}
}

/* ------------------------
	voice
------------------------ */
.voice_sec01 ul{display: block;}
.voice_sec01 ul li{border: 1px solid #707070;position: relative;padding: 50px 1px 30px;width: 100%;max-width: 360px;margin: 0 auto 50px;}
.voice_sec01 ul li:nth-of-type(4){padding: 50px 1px 30px;margin-bottom: 50px;}
.voice_sec01 ul li:nth-of-type(5){padding: 50px 1px 30px;margin-bottom: 50px;}
.voice_sec01 ul li:nth-of-type(6){padding: 50px 1px 30px;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: block;padding: 20px 15px;}
.voice_sec03 .box01 figure{max-width: 390px;text-align: center;margin: 0 auto 40px;}
.voice_sec03 .box02{text-align: center;min-width: auto;margin-top: 0;}
.voice_sec03 .box02 p:nth-of-type(1){font-size: 1.1em;margin-bottom: 25px;}
.voice_sec03 .box02 p:nth-of-type(2){font-size: 1.5em;margin: 0 auto 20px;}
.voice_sec03 .box02 p:nth-of-type(3){width: 13em;margin: 0 auto;}


.accordion-header{padding: 15px 15px;}
.accordion-header span{width: calc(100% - 40px);}
.accordion-content {padding: 15px 20px;}

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

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

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


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

.con_sec01 h3.fo18 { font-size: 1.5em !important;}
.con_sec01 .list01 li:first-child { margin-right: 3em;}
.con_sec01 .list01 figure { padding: 0px 30%;}
.con_sec01 .list01 .tel { font-size: 2em;}

.contact_sec .btn_area input { font-size: 1.5em;}

@media only screen and (max-width: 640px) {
	.con_sec01 .list01 { font-size: 2.2vw;}
	
	.contact_sec dl, .contact_sec dl > * { display: block; width: auto !important;}
	.contact_sec dt { padding-bottom: 3px;}
	.contact_sec dt .hissu { float: none; margin-left: 0.6em;}
}

@media only screen and (max-width: 480px) {
	.con_sec01 .list01 { display: block; font-size: 1em;}
	.con_sec01 .list01 li:first-child { margin: 0px 0px 25px;}
	.con_sec01 .list01 figure img { width: 5em;}
}


/* ------------------------
	topics
------------------------ */

.single_art .news_dl dd:last-child { font-size: 1.65em;}

.blog_content h1 { font-size: 1.6em;}
.blog_content table { font-size: 0.9em;}

img.aligncenter, img.alignright, img.alignleft { display: block; margin: 20px auto; float: none;}

/* ページャー(シングル) */
.pager { margin: auto -10px;}
.pager a { margin-bottom: 10px;}
.pager li:not(.more_btn) a { width: 40px; height: 40px;}
.pager .more_btn { margin: 0px 1em;}
.pager .more_btn a { font-size: 1em;}

@media only screen and (max-width: 640px) {
	.single_art .news_dl dl > * { padding-top: 0px;}
}


/* products */
.pro_sec01 h3{font-size: 1.4em;}

.pro_sec01 > div{display: block;}
.pro_sec01 > div p {width: 100%;}
.pro_sec01 > div figure{width: 100%;margin-right: auto;}

.pro_sec01 .box03{}
.pro_sec01 .box03 h4{font-size: 1.3em; margin-bottom: 20px;}
.pro_sec01 .box03 ul{display: flex;justify-content: center; gap: 25px; flex-wrap: wrap;}
.pro_sec01 .box03 ul li{width: 40%;}


.pro_sec02 ul{display: block;}
.pro_sec02 ul li{width: 100%;margin-left: auto;margin-right: auto;}
.pro_sec02 ul li:first-child{margin-bottom: 30px;}
.pro_sec02 ul li:last-child{margin-left: auto;}

.pro_sec03 > div{display: flex;flex-flow: column; gap:40px; justify-content: center;}
.pro_sec03 > div > figure:nth-of-type(1){}
.pro_sec03 > div > figure:nth-of-type(2){display: flex;justify-content: center;}

.pro_list a figure { width: 30%;}
.pro_list a .box_inner { width: 65%;}

@media only screen and (max-width: 640px) {
	.pro_art .box01 { display: block;}
	.pro_art .box01 > * { width: auto;}
	.pro_art .box01 > figure { margin-bottom: 25px;}
}

@media only screen and (max-width: 480px) {
	.pro_list a { display: block;}
	.pro_list a figure { width: auto; max-width: 270px; margin: 0px auto 25px;}
	.pro_list a .box_inner { width: auto;}
}


