@charset "UTF-8";

#main {
	padding-bottom:0;
}
#officelist .map {
	position:relative;
	max-width:800px;
}
#officelist .map > img {
	display:block;
}
#officelist .map > a {
	display:inline-block;
	font-size:1.8rem;
	color:#204b8d;
	line-height:2;
	box-sizing:border-box;
	padding:0 1em;
	border:1px solid #204b8d;
	position:absolute;
	background: rgba(255,255,255,.66);
}
#officelist .map > a:hover {
	background:#204b8d;
	color:#FFFFFF;
}
#officelist .map > a .svg-inline--fa {
	position:absolute;
	font-size:2.4rem;
	transform:translateY(-5px);
	transition:.3s;
	opacity:0;
	pointer-events: none;
}
#officelist .map > a:hover .svg-inline--fa {
	color:#204b8d;
	opacity:1;
	transform:translateY(0);
}
#officelist .map > a.kanto {
	top:75%;
	right:30%;
}
#officelist .map > a.hokuriku {
	top:42%;
	right:50%
}
#officelist .map > a.tokai {
	top:90%;
	left:40%;
}
#officelist .map > a.kansai {
	top:88%;
	left:22%;
}
#officelist .map > a.kyushu {
	top:74%;
	left:-10%;
}
#officelist .map > a.overseas {
	top:30%;
	left:0%;
}
#officelist .map > a.kanto .svg-inline--fa {
	top:-10%;
	left:-60%;
}
#officelist .map > a.hokuriku .svg-inline--fa {
	top:240%;
	left:50%
}
#officelist .map > a.tokai .svg-inline--fa {
	top:-175%;
	left:15%;
}
#officelist .map > a.kansai .svg-inline--fa {
	top:-210%;
	left:70%;
}
#officelist .map > a.kyushu .svg-inline--fa {
	top:-35%;
	right:-95%;
}
#officelist .map > a.overseas  .svg-inline--fa{
	top:-120%;
	right:-90%;
}

#office .offices .fbox {
	width:100%;
	box-sizing:border-box;
	padding:0 30px;
	margin-bottom:30px;
}
#office .offices .fbox > a {
	width:calc(100%/3 - 33px);
	margin-bottom:30px;
	transition:.3s;
	margin-right:49px;
}
#office .offices .fbox > a:nth-child(3n) {
    margin-right:0;
}
#office .offices .fbox > a:hover {
    opacity:.8;
}
#office .offices .fbox > a .img {
	margin-bottom:10px;
	overflow:hidden;
}
#office .offices .fbox > a .img img {
	transition:.3s;
}
#office .offices .fbox > a:hover .img img {
    transform:scale(1.05);
}
#office .offices .fbox > a h3 {
	border:none;
	padding:0;
	text-align:center;
	font-size:2.0rem;
	line-height:1.3;
	margin-bottom:.5em;
	color:#000000;
}
#office .offices .fbox > a h3::after {
	content:'';
	display:block;
	width:1em;
	height:.5em;
	border-bottom:2px solid #204b8d;
	margin:0 auto .5em;
}
#office .offices .fbox > a > span {
	display:block;
	text-align:right;
	font-size:1.6rem;
	color:#204b8d;
}
#office .offices .fbox > a > span .svg-inline--fa {
	margin-left:.5em;
}

#outline .contents > div,
#location .contents > div {
	width:100%;
	box-sizing:border-box;
	padding:0 30px;
}

#outline .fbox > div {
	width:60%;
}
#outline .fbox > img {
    width:calc(40% - 50px);
}

#outline .contents > div ul.pdflink {
    padding-top:30px;
}
#outline .contents > div ul.pdflink li {
	margin-bottom:1em;
}
#outline .contents > div ul.pdflink li a {
	font-weight:600;
	font-size:1.7rem;
}
#outline .contents > div ul.pdflink li a .svg-inline--fa {
	transform:scale(1.3);
	color:#cc0000;
	margin-left:.5em;
}

#processing .fbox > p {
	width:60%;
}
#processing .fbox > img {
    width:calc(40% - 50px);
}

#location .fbox > div {
	width:calc(50% - 25px);
}

#location .fbox > div.map {
	position:relative;
	padding-top:28%;
}
#location .fbox > div iframe {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
#location .list {
	margin-bottom:2em;
}
#main #location p {
	line-height:1.6;
	box-sizing:border-box;
	padding-left:.5em;
}

/* 画像を包む枠の共通設定 */
.offices .fbox a .img {
    width: 100%;            /* 横幅をカードいっぱいに */
    aspect-ratio: 4 / 3;    /* ★重要：全ての画像を 4:3 の比率で統一（16/9などでも可） */
    overflow: hidden;       /* 枠からはみ出た部分を隠す */
    background-color: #f0f0f0; /* 画像読み込み前の背景色 */
}

/* 画像自体の設定 */
.offices .fbox a .img img {
    width: 100% !important;  /* HTMLに書かれた width 属性を無視して100%に */
    height: 100% !important; /* HTMLに書かれた height 属性を無視して100%に */
    object-fit: cover;       /* ★重要：比率を維持したまま、枠を埋め尽くすようにトリミング */
    object-position: center; /* 画像の中心を基準に切り抜く */
    display: block;
}

@media screen and (max-width:1024px){

}

@media screen and (max-width:768px){

}

@media screen and (max-width:640px){

#officelist .map > a {
	font-size: 3.4vw;
}
#officelist .map > a .svg-inline--fa {
	display:none;
}
#officelist .map > a.kanto {
	top: 71%;
	right: 19%;
}
#officelist .map > a.hokuriku {
	top: 35%;
	right: 46%;
}
#officelist .map > a.tokai {
	top:90%;
	left:40%;
}
#officelist .map > a.kansai {
	top:88%;
	left: 15%;
}
#officelist .map > a.kyushu {
	top: 65%;
	left: -1%;
}
#officelist .map > a.overseas {
	top: 26%;
	left:0%;
}

#office .offices .fbox {
	padding:0;
	margin-bottom:15px;
}
#office .offices .fbox > a {
	width:calc(100%/2 - 5px);
	margin-bottom:15x;
	margin-right:9px;
}
#office .offices .fbox > a:nth-child(3n) {
	margin-right:9px;
}
#office .offices .fbox > a:nth-child(even) {
    margin-right:0;
}
#office .offices .fbox > a:hover {
    opacity:.8;
}
#office .offices .fbox > a .img img {
	transition:.0s;
}
#office .offices .fbox > a:hover .img img {
    transform:scale(1.0);
}
#office .offices .fbox > a h3 {
	font-size:1.6rem;
}
#office .offices .fbox > a > span {
	text-align:center;
	font-size:1.4rem;
}

#outline .contents > div,
#location .contents > div {
	padding:0;
}

#outline .fbox > div {
	width:100%;
}
#outline .fbox > img {
	width:100%;
	max-width:240px;
	margin:0 auto 15px;
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: -1;
	order: -1;
}

#outline .contents > div ul.pdflink {
    padding-top:15px;
}
#outline .contents > div ul.pdflink li a {
	font-size:1.5rem;
}
#outline .contents > div ul.pdflink li a .svg-inline--fa {
	transform:scale(1.3);
	color:#cc0000;
	margin-left:.5em;
}

#processing .fbox > p {
	width:60%;
}
#processing .fbox > img {
	width:100%;
}

#location .fbox > div {
	width:100%;
}

#location .fbox > div.map {
	width:100%;
	padding-top:60%;
	margin-top:15px;

}


}

@media screen and (max-width:480px){

}