@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html { 
	font-size: 62.5%;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #231815;
	font-size: 18px;
  font-optical-sizing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
	background: #fff;
}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

* {box-sizing: border-box;}

a {	transition : all 0.3s ease 0s;}

h1, h2, h3, h4 { text-wrap: inherit;}

figure {margin: 0;}

.pc { display: block !important;}
.pc_tc { display: table-cell !important;}
.sp { display: none !important;}
.sp_il { display: none !important;}
.sp_menu, .closebtn { display: none; }

.dsp_li { display: inline-block !important;}

@media (max-width: 768px) {
.pc { display: none !important;}
.pc_tc { display: none !important;}
.sp { display: block !important;}
.sp_il { display: inline-block !important;}
}

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

common

--------------------*/
.inner {
	width: min(100%, 1440px);
	margin: auto;
}

main {
	display: block;
	padding: 100px 0 0;
}

@media (max-width: 768px) {
main {
	display: block;
	padding: 80px 0 0;
}
}

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

header

--------------------*/
header {
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100px;
	padding: 30px 2vw 10px;
	background: #fff;
}

header .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

header .inner h1 {
	margin: 0;
	height: 100%;
	line-height: 1;
}

header .inner h1 img {
	width: 250px;
}

header .contact {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}

header .contact .btn_tel {
	line-height: 1.2;
}

header .contact .btn_tel a {
	display: inline-block;
	padding-left: 1.2em;
	background: url(../images/common/icon_tel.svg) no-repeat left center / 1em auto;
	color: #231815;
	font-size: 34px;
	font-weight: 700;
	text-decoration: none;
}

header .contact .btn_tel a:hover {
	opacity: 0.7;
}

header .contact .btn_tel span {
	display: block;
	font-size: 14px;
	font-weight: 500;
}

header .contact .btn_form {
	display: flex;
	align-items: center;
	margin-left:0.5em;
	padding: 0.3em 0.2em;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	border: 1px solid #e83828;
	background: #e83828;
}

header .contact .btn_form span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	margin-right: 0.5em;
	font-size: 13px;
	border: 1px solid #fff;
	border-radius: 50%;
}

header .contact .btn_form:hover {
	color: #e83828;
	background: #fff;
}

header .contact .btn_form:hover span {
	border: 1px solid #e83828;
}

@media (min-width:768px) and (max-width: 880px) {
header .inner h1 img {
	width: 28.4vw;
}

header .contact .btn_tel a {
	font-size: 3.8vw;
}
	
header .contact .btn_tel span {
	font-size: 1.5vw;
}

header .contact .btn_form {
	font-size: 2.7vw;
}

}

@media (max-width: 768px) {
header {
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 80px;
	padding: 0 3vw;
	background: #fff;
}

header .inner {
	height: 100%;
}

header .inner h1 {
	display: flex;
	align-items: center;
}

header .inner h1 a {
	display: flex;
	align-items: center;
}

header .inner h1 img {
	width: 30vw;
}
	
header .contact {
	flex-direction: column;
	padding-right: 50px;
}
	
header .contact .btn_tel a {
	display: inline-block;
	padding-left: 1.2em;
	background: url(../images/common/icon_tel.svg) no-repeat left center / 1em auto;
	color: #231815;
	font-size: 5vw;
	font-weight: 700;
	text-decoration: none;
}

header .contact .btn_tel span {
	display: block;
	font-size: 2vw;
	font-weight: 500;
}

header .contact .btn_form {
	display: none;
}


}
/* --------------------

footer

--------------------*/
footer {
	padding: 50px 10vw;
	background: #fff;
	border-top: 1px solid #231815;
}

footer .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

footer .img {
	width: 30%;
	padding-right: 3%;
}

footer .img img {
	width: 100%;
}

footer .information {
	width: 70%;
}

footer .information .name {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 0.5em;
}

footer .information .name span {
	display: block;
	padding-bottom: 0.5em;
	line-height: 1;
	border-bottom: 1px solid #000;
}

footer .information .name .logo {
	width: 300px;
	margin-right: 2%;
}

footer .information .name .logo img {
	width: 100%;
}

footer .information .name .txt {
	flex: 1;
	font-size: 28px;
	font-weight: 900;
}

footer .information .name .txt span {
	display: inline-block;
	padding: 0;
	border: none;
}

footer .information .inbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

footer .information .inbox .text {
	width: 300px;
	margin-right: 2%;
}

footer .information .inbox .text .business {
	display: block;
	margin-bottom: 5px;
	padding-bottom: 5px;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	border-bottom: 1px solid #231815;
}

footer .information .inbox .text .tel {
	display: inline-block;
	padding-left: 1.2em;
	color: #231815;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	background: url("../images/common/icon_tel.svg") no-repeat left center / 1em auto;
}

footer .information .inbox .text .tel:hover {
	opacity: 0.5;
}

footer .information .inbox .address {
	flex: 1;
	font-size: 16px;
	line-height: 1.6;
}

footer .information .inbox address {
	font-style: normal;
}

footer .information .inbox address span {
	display: inline-block;
}

footer .information .number {
	margin-top: 5px;
	padding-top: 5px;
	font-size: 14px;
	border-top: 1px solid #231815;
}

@media (min-width:768px) and (max-width: 1120px) {
footer {
	padding: 50px 2vw;
}
}

@media (max-width: 768px) {
footer {
	margin-bottom: 60px;
	padding: 10vw 2vw 5vw;
}
	
footer .img {
	order: 2;
	width: 100%;
	margin-top: 1em;
	padding-right: 0;
	text-align: center;
}

footer .img img {
	width: 50%;
}

footer .information {
	order: 1;
	width: 100%;
}

footer .information .name .logo {
	width: 50%;
	margin-right: 0;
	text-align: center;
}

footer .information .name .logo img {
	width: 100%;
}
	
footer .information .name .txt {
	text-align: center;
	font-size: 4.5vw;
}

footer .information .inbox .text {
	width: 100%;
	margin-right: 0;
	text-align: center;
}

}

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

#page_top

--------------------*/
#page_top {
  position: fixed;
  z-index: 99;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
}

#page_top a {
  display: block;
  width: 60px;
  padding: 28px 5px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  background: #036eb8;
  border-radius: 90px;
  opacity: 0.9;
  transition: all 0.3s ease;
}

#page_top a:hover {
  text-decoration: none;
  opacity: 0.5;
}

@media (max-width: 768px) {
#page_top {
  bottom: 80px;
  right: 20px;
}
}

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

#cta

--------------------*/
#cta {
	display: none;
}

@media (max-width: 768px) {
#cta {
	display: block;
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  width: 100%;
	height: 60px;
}
	
#cta a {
	display: flex;
	justify-content: center;
	align-items: center;
  width: 100%;
	height: 60px;
	padding: 0.2em;
  color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
  text-align: center;
  background: #e83828;
}
	
#cta a span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	margin-right: 0.5em;
	font-size: 13px;
	border: 1px solid #fff;
	border-radius: 50%;
}
	
}

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

nav

--------------------*/
nav {
	position: relative;
	height: 61px;
	padding: 0;
	border-bottom: 1px solid #231815;
}

nav .menu {
	display: flex;
	justify-content: center;
	align-items: stretch;
	margin: 0 auto;
	padding: 0;
}

nav .item {
	width: 19.5%;
	margin: 0 0.25%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #231815;
	border-right: 1px solid #231815;
}

nav .item > a {
	position: relative;
	display: block;
	width: 100%;
	height: 60px;
	padding: 10px 0 20px;
	color: #231815;
	text-align: center;
	text-decoration: none;
	background: #fff;
	transition : all 0.3s ease 0s;
}

nav .item > a:hover {
	background: #fff799;
}

nav .item > a.on,
nav .item > a.on:hover {
	color: #fff;
	background: url("../images/common/nav_bk.png") no-repeat center center / cover;
}

nav .item > a.on:hover {
	opacity: 0.5;
}

nav .item > a:hover::after,
nav .item > a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 10px;
	width: 100%;
	height: 5px;
	background: #036eb8;
	transition : all 0.3s ease 0s;
}

nav .item > a.on::after {
	background: #fff;
}

@media (max-width: 768px) {
.sp_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 20px;
	right: 3vw;
	z-index: 1100;
	width: 40px;
	height: 40px;
	padding: 3px;
	text-align: center;
	cursor: pointer;
	background: #036eb8;
	border-radius: 3px;  
}

.sp_menu span {
	display: block;
	width: 26px;
	height: 3px;
	background: #ffffff;
}
	
nav {
	z-index: 99999;
	position: fixed;
	top: 0;
	width: 100vw;
	height: 100vh;
	display: none;
	background: #036eb8;
	overflow: scroll;
	padding: 60px 7.81% 19.37% 7.81%;
	box-sizing: border-box;
}

nav .menu { 
	display: block;
	height: auto;
}

nav .item {
	width: 100%;
	max-width: 100%;
	border: none;
	border-bottom: 1px dashed #fff;
	border-left: none;
}
	
nav .item > a {
	display: block;
	height: auto;
	padding: 20px;
	color: #fff !important;
	background: #036eb8;
}
	
nav .item > a:hover::after,
nav .item > a::after {
	content: none;
}
	
nav .item > a.on {
	color: #036eb8 !important;
	background: #fff;
}
	
nav .item > a:hover,
nav .item > a.on:hover {
	color: #036eb8 !important;
	background: #fff799;
	opacity: 1;
}
	
nav .closebtn {
	display: block;
	position: fixed;
	top: 20px;
	right: 3vw;
	z-index: 99999;
	width: 40px;
	height: 40px;
	color: #036eb8;
	font-size: 30px;
	text-align: center;
	cursor: pointer;
	line-height: 0.5;
	margin: 0;
	padding: 12px 5px 0;
	background: #fff;
	border-radius: 3px;  
}

}

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

.submenu

--------------------*/
.submenu {
	position: absolute;
	left: 0;
	bottom: 60px;
	width: 100%;
	padding: 20px 2vw;
	transition: opacity .3s, visibility .3s;
	visibility: hidden;
	background: url("../images/common/bg_menu.png") no-repeat left top / cover;
	opacity: 0;
}

.item:hover .submenu {
  opacity: 1;
  visibility: visible;
}

.submenu .inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.submenu h2 {
	margin: 0 20px 0 0;
	padding: 0.5em 5px;
	width: 200px;
	color: #fff;
	font-size: 24px;
	text-align: center;
	border: 1px solid #fff;
}

.submenu ul {
	width: calc(100% - 220px);
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.submenu li {
	width: 50%;
	padding-top: 0.2em;
}

.submenu li a {
	position: relative;
	display: inline-block;
	padding-left: 1.2em;
	color: #fff;
	text-decoration: none;
}

.submenu li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.5em 0 0.5em 0.75em;
	border-color: transparent transparent transparent #FFFFFF;
	transition : all 0.3s ease 0s;
}

.submenu li a.on {
	color: #fff799;
}

.submenu li a.on::before {
	border-color: transparent transparent transparent #fff799;
}

.submenu li a:hover {
	color: #fff799;
}

.submenu li a.on:hover {
	color: #fff;
}

.submenu li a:hover::before {
	border-color: transparent transparent transparent #fff799;
}

.submenu li a.on:hover::before {
	border-color: transparent transparent transparent #fff;
}

@media (max-width: 768px) {
.submenu {
	padding: 3vw;
	position: static;
	opacity: 1;
	visibility: visible;
	background: none;
}
	
.submenu li {
	width: 100%;
	padding-top: 0;
}

.submenu h2 {
	display: none;
}
	
.submenu ul {
	width: 100%;
}

.submenu li {
	width: 100%;
}

}

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

#sec_flow（導入までの流れ）

--------------------*/
#sec_flow {
	padding: 20px 2vw 30px;
	color: #fff;
	text-align: center;
	background: url("../images/common/bg_flow.png") no-repeat left top / cover;
}

#sec_flow h2 {
	margin-bottom: 1em;
	font-size: 34px;	
}

#sec_flow ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 1em auto;
	padding: 0;
	list-style: none;
}

#sec_flow li {
	position: relative;
	width: 15%;	
}

#sec_flow li div {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	border: 2px solid #fff;
	border-radius: 50%;
}

#sec_flow li:last-child div {
	background: rgba(255,255,255,0.3);	
}

#sec_flow li:not(:last-child) {
	margin-right: 2em;
}

#sec_flow li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -1.7em;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1.5em;
	height: 3em;
	background: url("../images/common/arrow_01.svg") no-repeat center center / 1.5em auto;
}

#sec_flow li .step {
	display: block;
	width: 100%;
	padding: 1em 0 0.5em;
	line-height: 1;
	background: rgba(255,255,255,0.4);
	border-bottom: 2px solid #fff;
}

#sec_flow li:last-child .step {
	background: rgba(255,255,255,0.7);
}

#sec_flow li .step img {
	height: 1.2em;
}

#sec_flow li .text {
	display: block;
	width: 100%;
	padding-bottom: 0.5em;
	font-size: min(28px, 1.8vw);
	line-height: 1.2;
}

#sec_flow .lead {
	font-size: 30px;
	font-weight: 700;
}

#sec_flow .tel {
	display: inline-block;
	padding-left: 1.4em;
	background: url("../images/common/icon_tel_w.svg") no-repeat left center / 1.2em auto;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	text-decoration: none;
}

#sec_flow .tel:hover {
	color: #fff67f;
	background: url("../images/common/icon_tel_y.svg") no-repeat left center / 1.2em auto;
}

@media (max-width: 768px) {
#sec_flow {
	padding: 20px 2vw 30px;
	color: #fff;
	text-align: center;
	background: url("../images/common/bg_flow_sp.png") no-repeat left top / cover;
}

#sec_flow li {
	width: 100%;
	padding: 0 25%;
}
	
#sec_flow li:not(:last-child) {
	margin: 0 0 4em 0;
}

#sec_flow li .text {
	font-size: 5vw;
}

#sec_flow li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	top: inherit;
	bottom: -3.5em;
	margin: auto;
	width: 1.5em;
	height: 3em;
	transform: rotate(90deg);
	background: url("../images/common/arrow_01.svg") no-repeat center center / 1.5em auto;
}

}


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

#sec_mv

--------------------*/
#sec_mv {
	position: relative;
}

#sec_mv h2 {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	padding: min(5vw, 100px) min(5vw, 100px);
	text-align: center;	
	background: url(../images/top/main_bk_2.png) no-repeat center top / cover;
}

#sec_mv p {
	position: absolute;
	left: 0;
	top: 55vw;
	margin: 0;
	padding: 0 3vw;
	text-align: center;	
}

#sec_mv .mv_s {
	display: flex;
	flex-wrap: wrap;
}

#sec_mv .mv_s img {
	width: calc(100% / 3);
}

@media (max-width: 768px) {
#sec_mv p {
	top: 40vw;
	width: 100%;
	text-align: center;
}

#sec_mv p img {
	width: 60vw;
	margin: auto;
}

}

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

共通パーツ

--------------------*/
/* --------------------
.contents
--------------------*/
.contents {
	padding: 30px min(100px, 5vw) 80px;
}

@media (max-width: 768px) {
.contents {
	padding: 30px min(100px, 5vw) 10vw;
}
}

/* --------------------
見出し
--------------------*/
/* .headline_01 */
.headline_01 {
	margin-bottom: 0.5em;
	padding: 0.2em 0;
	font-size: 30px;
	border-bottom: 5px dotted #231815;
}

/* .headline_02 */
.headline_02 {
	margin-bottom: 0.5em;
	padding: 0.2em 0;
	font-size: 30px;
	border-top: 5px dotted #231815;
}

/* .headline_03 */
.headline_03 {
	margin-bottom: 0.5em;
	font-size: 24px;
}

/* --------------------
表
--------------------*/
/* .table_01 */
.table_01,
.table_02 {
	width: 100%;
	margin: 1em 0;
	border-collapse: collapse;
}

.table_01 th,
.table_01 td,
.table_02 th,
.table_02 td {
	padding: 0.2em;
	text-align: center;
	border: 2px solid #231815;
}

.table_01 th,
.table_02 th {
	font-weight: 500;
}

/* .table_01 */
.table_01 th {
	background: #eaf6fd;
}

/* .table_02 */
.table_02 th {
	background: #feefe4;
}

.table_03 {
	width: 100%;
	margin: 1em 0;
	border-spacing: 0.5em;
}

.table_03 th,
.table_03 td {
	padding: 0.5em 0;
	border-bottom: 1px solid #231815;
}

.table_03 th {
	font-weight: 500;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

/* .table_wrap */
.table_wrap {
	overflow-x: auto;	
}

.table_wrap table {
	min-width: 1240px;
}

@media (max-width: 768px) {
.table_03 {
	border-spacing: 0;
}

.table_03 th,
.table_03 td {
	display: block;
	max-width: 100%;
}
	
.table_03 th {
	text-align: center;
	background: #e5e5e5;
}
}


/* --------------------
form
--------------------*/
.table_form {
	width: 100%;
	margin: 1em 0;
	border-collapse: collapse;
}

.table_form th,
.table_form td {
	padding: 0.5em;
	border: 1px solid #231815;
}

.table_form th {
	width: 200px;
	font-weight: 500;
}

.req {
	color: #e60012;
	font-size: 80%;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	width: 100%;
	padding: 0.5em;
	box-sizing: border-box;
}

select{
	padding: 0.5em;
}

input[type="submit"],
input[type="reset"]{
	cursor: pointer;
}

.btn_c form {
	display: inline-block;
}

@media (max-width: 768px) {
.table_form th,
.table_form td {
	display: block;
	max-width: 100%;
	border: none;
}
	
.table_form {
	border: 1px solid #231815;
}

.table_form th {
	width: 100%;
	background: #e5e5e5;
}


}

/* --------------------
リスト
--------------------*/
/* .list_circle*/
.list_circle {
	padding: 0;
	list-style: none;	
}

.list_circle li {
	margin-left: 2em;
	margin-top: 0.5em;
	text-indent: -2em;
	padding: 0;
	list-style: none;	
}

.list_circle li::before {
	content: "●";
	margin: 0 0.5em;
}

/* .list_catalog */
.list_catalog {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.list_catalog li {
	width: calc(100% / 3);
	padding: 0.5%;
}

.list_catalog li a {
	display: block;
	padding: 0.2em 1.5em 0.2em 1em;
	color: #036eb8;
	text-align: center;
	text-decoration: none;
	background: url("../images/common/icon_link.svg") no-repeat right 0.5em center / 1em auto, #d3edfb;
	border: 1px solid #036eb8;
}

.list_catalog li a:hover {
	background: url("../images/common/icon_link.svg") no-repeat right 0.5em center / 1em auto, #fff;
}

@media (max-width: 768px) {
.list_catalog li {
	width: 100%;
}
}

/* --------------------
サイズ
--------------------*/
.full {
	width: 100% !important;
}

.half {
	width: 50% !important;
}

.w_30 {
	width: 30% !important;
}

/* --------------------
背景
--------------------*/
.bg_01 { background: #fff !important;}/* 白 */
.bg_02 { background: #fffeee !important;}/* 黄 */

/* --------------------
文字
--------------------*/
/* 色 */
.fc_01 { color: #e60012 !important;}/* 赤 */
.fc_02 { color: #fff67f !important;}/* 黄 */
.fc_03 { color: #005bac !important;}/* 紺 */

/* サイズ */
.fs_s { font-size: 80% !important;}
.fs_m { font-size: 120% !important;}

/* --------------------
余白
--------------------*/
.m_0 {margin: 0;}

/* --------------------
注釈
--------------------*/
p.note {
	padding-left: 1em;
	text-indent: -1em;
}

p.note::before {
	content: "※";
}

ul.note {
	margin: 0;
	padding-left: 1em;
	list-style: none;
}

ul.note li {
	text-indent: -1em;
}

ul.note li::before {
	content: "※";
}

/* --------------------
ボタン
--------------------*/
.btn_c {
	text-align: center;
}

/* .btn_01 */
.btn_01 {
	display: inline-block;
	padding: 0.5em 3em;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	border-radius: 3em;
	border: 1px solid #fff;
}

.btn_01:hover {
	color: #005bac;
	background: #fff;
}

/* .btn_02 */
.btn_02 {
	display: inline-block;
	padding: 0.5em 3em;
	color: #036eb8;
	text-decoration: none;
	cursor: pointer;
	background: #fff;
	border-radius: 3em;
	border: 1px solid #036eb8;
}

.btn_02:hover {
	color: #fff;
	background: #036eb8;
}

/* .btn_03 */
.btn_03 {
	display: inline-block;
	padding: 0.5em 3em;
	color: #036eb8;
	text-decoration: none;
	cursor: pointer;
	background: #c2e6fa;
	border-radius: 3em;
	border: 1px solid #036eb8;
}

.btn_03:hover {
	color: #fff;
	background: #036eb8;
}

@media (max-width: 768px) {
.btn_c .btn_01,
.btn_c .btn_02,
.btn_c .btn_03 {
	width: 100%;
	margin-bottom: 1em;
}
	

}

/* --------------------
2カラム
--------------------*/
.column {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

/* --------------------
画像3列（キャプション付き）
--------------------*/
.img_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.img_box figure {
	width: 32.5%;
	margin: 0.5em 0 0;
	text-align: center;
	border: 1px solid #231815;
}

.img_box figure img {
	width: 90%;
	margin: 0.5em 0;
}

.img_box figure figcaption {
	display: block;
	padding: 0.5em;
	background: #e9e6f3;
	border-bottom: 1px solid #231815;
}

@media (max-width: 768px) {
.img_box figure {
	width: 100%;
}

}

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

ページ個別

--------------------*/
/* --------------------
#service_2(リース空調機一覧表)

--------------------*/
#service_2 .column .data {
	margin: 1em 2em 1em 0;
	padding: 0.5em 2em;
	color: #172a88;
	font-size: 24px;
	text-align: center;
	border-radius: 50%;
	border: 1px solid #172a88;
}

@media (max-width: 768px) {
#service_2 .column .data {
	margin: 1em;
}

}

/* --------------------
#service_3(施工例)
--------------------*/
#service_3 .lead {
	margin: 0 auto 2em;
	padding: 0 min(80px, 5vw);
}

#service_3 .lead div {
	width: 30%;
	padding-right: 2em;
}

#service_3 .lead div img {
	width: 100%;
}

#service_3 .lead p {
	width: 70%;
	font-size: 22px;
}

#service_3 .case {
	align-items: flex-end;
}

#service_3 .case figure {
	width: calc(100% / 3);
	padding: 1em;
	text-align: center;
}

#service_3 .case figcaption {
	text-align: left;
}

@media (max-width: 768px) {
#service_3 .lead {
	padding: 0;
}

#service_3 .lead div {
	width: 100%;
	padding-right: 0;
	text-align: center;
}
	
#service_3 .lead div img {
	width: 50%;
}
	
#service_3 .lead p {
	width: 100%;
}
	
#service_3 .case figure {
	width: 100%;
}



}


/* --------------------
#company_2(社屋外観)
--------------------*/
#company_2 .column {
	justify-content: space-between;
}

#company_2 .column figure {
	width: 49%;
	margin: 0 0 0.5em 0;
}

@media (max-width: 768px) {
#company_2 .column figure {
	width: 100%;
}

}


/* --------------------
#company_3(社屋外観)
--------------------*/
#company_3 .column {
	justify-content: space-between;
}

#company_3 .column figure {
	width: 33%;
	margin: 0 0 0.5em 0;
}

#company_3 .column .portrait {
	width: 22%;
}

#company_3 .column .landscape {
	width: 38.5%;
}

@media (max-width: 768px) {
#company_3 .column figure {
	width: 100%;
}

#company_3 .column .portrait {
	width: 100%;
}

#company_3 .column .landscape {
	width: 100%;
}

}
