@charset "utf-8";


.indexContent {margin: 0 auto 2em;}
.Ttlcontent h1 { margin: 1.5em 0 1.5em;
	color: #000;
	font-weight: 600;

}
.Ttlcontent h2 {
    margin: 1.5em 0 1.5em;
    font-size: 2em;
    color: #000000;
}

.Ttlcontent dl h2 {
	color: #000000;
	font-size: 1.4rem;
	font-weight: normal;
	margin: 0 0 10px;
}

.Ttlcontent dl h3 {
	font-size: 1.4rem;
	font-weight: normal;
	padding: 0 0 0 15px;
}

.Ttlcontent dl h3 + p {
	padding: 0 0 0 15px;
}


/*ceo*/
.ceo_message {
    display: flex;
    align-items: center;
    justify-content: space-between; 
    flex-wrap: wrap; 
	
}

.ceo_text{ flex-direction: column;
	 justify-content: center;
	line-height: 30px;
	padding-left: 25px;
}

.ceo_text h3 {
    font-size: 2.3rem; 
    position: relative; 
    padding-right: 10px; 
	display: inline-block;
}

.ceo_text h3::after {
    content: "\f105"; 
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    position: absolute;
    right: -10px; 
    top: 0; 
}


.ceo_text  {font-size:1.5rem;}

.ceo_name{font-size:2.5rem;}



.ceo_image,
.ceo_text {
    flex-basis: 50%; /* 画像とテキストのベースの幅を50%に設定 */
    max-width: 50%; /* 最大幅も50%に設定 */
}

.ceo_image img {
    width: 100%; /* 画像をコンテナの幅に合わせる */
    height: auto; /* 高さを自動調整 */
	padding: 0 20px 0 20px ;
}

/**/

/*rinen*/
.full-width-content2 {
    width: 100%;
    background-color: #f5f5f5; /* Change the background color as needed */
    text-align: center;
    padding: 45px 0;
    box-sizing: border-box;
}

.full-width-content2 h2 {
    font-size: 2.5em;
    color: #0e0e0e;
    margin-bottom: 15px;
}
.full-width-content2 h3 {
    font-size: 1.4em;
    color: #0e0e0e;
    margin-bottom: 10px;
}

.full-width-content2 p {
    font-size: 1.2em;
    color: #666;
    line-height: 1.6;
}

/**/



dl,
dl.sub,
.map dl {
	display: flex;
}

dl {
	line-height: 1.5em;
	border-bottom: 1px solid #d4d4d4;
}

dt dd {
	display: block;
}

dt span{font-size: 11px;
	font-weight: 300!important;
}
dt a{position: relative;
}
dt a::after {
    content: "\f105"; 
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    position: absolute;
    right: -12px;
    top: -4px;

}
dd {
	padding: 1em .5em;
	line-height: 2em;
}

dd a{
    position: relative;
}
dd a::after {
    content: "\f105"; 
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    position: absolute;
    right: -12px;
    top: -4px;

}


dd h2 {
	position: relative;
}

dd h2::before {
	content: "■";
	margin: 0 5px 0 0
}

dd ul {
	margin: 0 0 30px 1rem;
}

dd ul li {
	list-style: disc;
	line-height: 1.5;
	margin: 0 0 10px 2rem;
}

dd ul.flex {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}

/* dd:nth-child(2){width: 400px;margin-right: auto;} */
/* dd:nth-child(3){width: 320px;margin-left: auto;} */
dd:nth-child(3) {
	display: table-cell;
	vertical-align: middle;
	margin-left: auto;
}

dd.box_large {
	width: 84%;
}

dd.box_medium {
	width: 42%;
}

dd.box_map {
	width: 42%;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: end;
}

dt {
    width: 20%;
    min-width: 215px;
	padding: .5em .2em .5em 1em;
	background: #eeeeee;
	line-height: 2em;
}

#office dt{
	padding: 1.5em .2em .5em 1em;

}
.info-container {
    display: flex;
    justify-content: space-between; /* Adjust as needed for your design */
}

.info-container dl {
    /* Optional: if you want each <dl> to take equal width */
    flex: 1;
}



/* Add this to your company.css file */
.link-button-container{display: flex;
	gap: 10px;
	/* justify-content: space-between; */
}
.custom-link-button {
	position: relative;
    display: inline-block;
    margin-top: 20px;
	width: 35%;
    padding: 18px 20px;
    background-color: #035a9a;; /* Green background */
    color: white!important; /* White text */
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    border-radius: 30px;
    transition: background-color 0.3s, border-color 0.3s;
    letter-spacing: 3px;
}

.custom-link-button::after {
    content: "\f105";
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
    padding-left: 5px;
}


.custom-link-button:hover {
	background-color: white; /* White background on hover */
    border:1px solid #035a9a; /* Green border on hover */
    color: #035a9a!important; /* White text */
}



.deal_box_left {
	width: 42%;
}

.deal_box_right {
	width: 42%;
}

.sub dd {
	width: 20%;
	padding: 0;
}

.sub dt {
	width: 80%;
	padding: 0 .5em;
	background: #ffffff;
}

.yanai_st {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

dl p {
	margin-bottom: 2em;
}

dl span {
	font-weight: bold;
	display: block;
	margin-bottom: .5em;
}

dd a {
	color: #044ca9;
}

dl.sub {
	border-bottom: none;
	width: 100%;
}

/**/
section.map article:first-child {
	margin-top: 4em;
}

section.map img {
	margin: 2em auto;
}

.map dt {
	font-weight: bold;
	background: #ffffff;
}

span.pink {
	color: #fff;
	background-color: #ef1668;
	padding: .5em 2em;
	margin-right: .5em;
	border-radius: .5em;
}

span.pink a {
	color: #ffffff !important;
}

span.pink a:hover {
	color: #f577a7 !important;
}


ul.guide {
	display: flex;
	justify-content: space-between;
}

.guide li {
	display: block;
	font-size: 1.2em;
	position: relative;
}

.guide li img {
	margin: 0;
	position: absolute;
	right: 1em;
	bottom: .1em;
}

.guide li img:hover {
	opacity: .7;
}

.map dl {
	border-bottom: 1px solid #d4d4d4;
}

a.cp_btn {
	display: block;
	width: auto;
	padding: .3em 0.8em;
	text-align: center;
	text-decoration: none;
	color: #3156aa;
	border: 1px solid #3156aa;
	border-radius: 3px;
	transition: .4s;
	margin-left: 95px;
}

a.cp_btn:hover {
	background: #3156aa;
	color: #fff;
}

a.cp_btn::after {
	content: "≫";
	font-weight: 800;
}

/* Image Link Grid Styles */
.image-link-grid {
	margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

}

.image-link {
    width: calc(31% - 0px);
    margin:15px 0;
    box-sizing: border-box;
    text-align: center; /* Center the text below the image */
}
.image-link:hover {
opacity: .7;
}

.image-link img {
    width: 100%; /* Ensure the image is responsive and does not overflow its container */
    height: auto; /* Maintain aspect ratio */
    margin-bottom: 8px; /* Space between image and text */
}

.image-link span {
    display: block; /* Make span behave like a block for proper spacing */
    font-weight: bold; /* Optional: if you want the text to be bold */
	color:#000;
	font-size: 1.6rem;
}

.image-link span::after {
    content: "\f105";
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
    padding-left: 5px;
}

.access {
	background-color: #e4e8ef;
    font-size: 12px;
    padding: 1px 11px;
    margin-top: 15px;
}

.access_text{font-size: 13px;
margin-left: 5px;}

@media screen and (max-width: 767px) {
	.pagetop {
		bottom: 0;
	}

	/*ceo*/
	.ceo_message {
        flex-direction: column; 
    }

    .ceo_image,
    .ceo_text {
        flex-basis: 100%; 
        max-width: 100%; 
    }

    .ceo_image {
        margin-bottom: 0px; 
    }
	.ceo_text {
        display: flex;
        flex-direction: column;
        align-items: center; 
		padding-left: 0px;
    }

	/**/

	dl,
	dl.sub,
	.map dl {
		flex-direction: column;
	}

	dt {
		width: 100%;
		padding: .5em;
	}

	dt.line {
		padding: 1px 0 0 0;
		background-color: #ccc;
	}

	dl {
		border-bottom: none;
	}

	dd.box_large {
		width: 100%;
	}

	dd.box_medium {
		width: 100%;
	}

	dd.box_map {
		width: 100%;
		text-align: left;
	}

	.info-container {
		display: block;
	}
	
	.info-container dl {
		/* Optional: if you want each <dl> to take equal width */
		flex: 1;
	}

	.deal_box_left {
		width: 100%;
		padding: 1em .5em 0;
	}

	.deal_box_right {
		width: 100%;
		padding: 0 .5em 1em;
	}

	.yanai_st {
		flex-direction: column;
		align-items: flex-start;
	}

	.box_map {
		padding-top: 2rem;
	}

	.Ttlcontent {
		margin-bottom: 20px;
	}

	section {
		padding: 0px 10px;
	}

	.sub dd {
		width: 100%;
	}

	.sub dt {
		width: 100%;
	}

	a.cp_btn {
		margin-left: 0px;
	}

	.custom-link-button {
        display: block; /* Stack buttons vertically on small screens */
        margin: 10px auto; /* Center buttons */
        width: 80%; /* Adjust width as needed */
    }

	.image-link {
        width: 100%; /* Full width for small screens */
        margin: 10px 0; /* Adjust margin for vertical spacing */
    }
    .link-button-container {
        display: flex;
        flex-direction: column;
    }
    .link-button-container .custom-link-button {
        margin-bottom: 10px; /* ボタン間の余白を調整 */
    }

}
