@charset "utf-8";

/**
 * HOME
 * ---------------------------------------- */
.p-keyvisual {
	display: grid;
	place-content: center;
	height: 700px;
	position: relative;
	margin-inline: var(--breakout);
}
.bnr_caption_left{
	width: 44%;
}
.p-keyvisual .catchcopy,
.p-keyvisual .logo {
	z-index: 1;
	position: relative;
	text-align: center;
}
.p-keyvisual .logo {
	margin-top: 40px;
}
.p-keyvisual .logo img {
	width: 265px;
}
.mobile-logo {
    display: none;
}
.logo_list_area {
    padding-bottom: 10px;
}
.top_banner .owl-carousel .owl-item .mobile-slide-image {
    display: none;
}
@media screen and (max-width: 1439px) {
	.p-keyvisual .visual .object.paste {
		background-size: calc(1600vw / 14.4) calc(800vw / 14.4);
	}
	.p-keyvisual .visual .object.-p1 {
		left: calc(50% - 660vw / 14.4);
		width: calc(450vw / 14.4);
		height: calc(438vw / 14.4);
	}
	.p-keyvisual .visual .object.-p2 {
		right: calc(50% - 640vw / 14.4);
		width: calc(352vw / 14.4);
		height: calc(294vw / 14.4);
	}
	.p-keyvisual .visual .object.-p3 {
		left: calc(50% - 320vw / 14.4);
		width: calc(890vw / 14.4);
		height: calc(384vw / 14.4);
	}
	.p-keyvisual .visual .object.-d1 {
		left: calc(50% - 350vw / 14.4);
		width: calc(70vw / 14.4);
	}
	.p-keyvisual .visual .object.-d2 {
		left: calc(50% - 560vw / 14.4);
		width: calc(30vw / 14.4);
	}
	.p-keyvisual .visual .object.-d3 {
		left: calc(50% - 420vw / 14.4);
		width: calc(50vw / 14.4);
	}
	.p-keyvisual .visual .object.-d4 {
		right: calc(50% - 530vw / 14.4);
		width: calc(50vw / 14.4);
	}
}
@media(max-width:1280px){
.top-padding-ss {
    margin-top: 100px;
}		
}
@media(max-width:1024px){
.bnr_area .bnr_caption h1, .bnr_area .bnr_caption h2{
    font-size: 28px;
}
.logo_box ul li {
    flex: 0 0 47%;
}
.container {
    width: 100%;
    padding: 0 12px;
}
.l-header {
    width: calc(100% - 15px);
}	
}
@media(max-width:991px){
.bnr_caption_left {
    width: 50%;
}
.bnr_caption .container {
    width: 100%;
    padding: 0 15px;
}
.owl-carousel .owl-dots {
    right: 30px;
}
.bnr_area .bnr_caption {
    padding-top: 10px;
}
.top_banner p.logo img {
    max-width: 230px;
    height: auto;
}	
}
@media(max-width:820px){

	
}
@media screen and (max-width: 767px) {
	.p-keyvisual {
		height: calc(635vw / 7.68);
		margin-inline: var(--breakout);
	}
	.bnr_area .bnr_caption h1, .bnr_area .bnr_caption h2 {
        max-width: 303px;
        margin-left: auto;
        margin-right: auto;
    }
	.p-keyvisual .catchcopy{
		margin-top: 16px;
	}
	.p-keyvisual .visual .object.paste{
		background-size: calc(2200vw / 14.4) calc(1200vw / 14.4);
	}
	.p-keyvisual .visual .object.-p1 {
		left: calc(50% - 1063vw / 14.4);
		width: calc(809vw / 14.4);
		height: calc(832vw / 14.4);
		transform: translateY(-29%);
	}
	.p-keyvisual .visual .object.-p2 {
		right: calc(50% - 800vw / 14.4);
		width: calc(466vw / 14.4);
		height: calc(392vw / 14.4);
		transform: translateY(1%);
	}
	.p-keyvisual .visual .object.-p3 {
		left: calc(50% - 432vw / 14.4);
		width: calc(1224vw / 14.4);
		height: calc(546vw / 14.4);
		transform: translateY(62%);
	}
	.p-keyvisual .visual .object.-d3{
		right: calc(50% - 713vw / 14.4);
		width: calc(86vw / 14.4);
		transform: translateY(506%);
		left: auto;
		bottom: auto;
	}
	.p-keyvisual .visual .object.-d4{
		left: calc(50% - 535vw / 14.4);
		width: calc(65vw / 14.4);
		transform: translateY(-88%);
		right: auto;
		top: auto;
		bottom: 0;
	}
	.p-keyvisual .visual .object.-d2{
		left: calc(50% - 449vw / 14.4);
		width: calc(45vw / 14.4);
		transform: translateY(466%) rotate(90deg);
	}
	.p-keyvisual .visual .object.-d1{
		display: none;
	}
}
@media screen and (max-width: 599px) {
	.p-keyvisual .catchcopy img {
		width: calc(285vw / 6);
	}
	.p-keyvisual .logo {
		margin-top: 14px;
	}
	.p-keyvisual .logo img {
		width: calc(196vw / 6);
	}
}
/* @media screen and (max-width: 767px) {
	.p-keyvisual .visual .object {
		display: none;
	}
} */

/* :::::: お知らせ :::::: */
.page-home .c-newsbox {
	max-width: 960px;
	margin: 80px auto 0;
	flex-wrap: wrap;
	gap: 2px;
}
.page-home .c-newsbox .c-post {
	padding-inline: 24px;
	border-radius: 0 0 0 0;
}
.page-home .c-newsbox .c-post:first-child {
	border-radius: 20px 20px 0 0;
}
/* お知らせ一覧へのリンク */
.c-newsbox .link {
	display: grid;
	place-content: flex-end;
	position: relative;
	padding: 16px 45px;
	border-radius: 0 0 20px 20px;
	white-space: nowrap;
	background: white;
	width: 100%;
}
.c-newsbox .link .c-link::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 767px) {
	.page-home .c-newsbox {
		flex-direction: column;
		gap: 2px;
	}
	.page-home .c-newsbox .c-post,
	.c-newsbox .c-post .c-textlink::before {
		border-radius: 0 0 0 0;
	}
	.c-newsbox .link,
	.c-newsbox .link .c-link::before {
		border-radius: 0 0 20px 20px;
	}
	.c-newsbox .link {
		padding-block: 8px;
		justify-content: flex-end;
	}
}

/* :::::: トピック :::::: */
.c-topic {
	display: flex;
	gap: 24px 40px;
	margin-top: 80px;
}
.c-topic .content {
}
.c-topic .image {
	order: -1;
}
.c-topic .image img {
	aspect-ratio: 13 / 11;
	height: 100%;
	object-fit: cover;
	border-radius: 10px
}
@media print, (min-width: 768px) {
	.c-topic .content {
		flex-basis: 815px;
	}
	.c-topic .image {
		flex-basis: 390px;
	}
}
@media screen and (max-width: 767px) {
	.c-topic {
		flex-direction: column;
	}
	.container {
    width: 100%;
    padding: 0 12px;
}

.about_sec h2 {
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: left;
}

.about_sec p {
    text-align: left;
}

.img_box {
    padding-top: 50px;
    padding-bottom: 77px;
}

.img_box h2 {
    font-size: 24px;
    text-align: left;
    margin-bottom: 16px;
    line-height: normal;
}

.img_box figure img.first_img {
    height: auto;
}

.arrow_area {
    margin-top: 15px;
    margin-bottom: 23px;
}

.arrow_area svg {
    width: 96px;
    height: 26px;
    flex-shrink: 0;
}

.img_box h3 {
    font-size: 20px;
    text-align: left;
    line-height: normal;
}

.img_box p {
    font-size: 16px;
    text-align: left;
    line-height: normal;
    margin-bottom: 24px;
}

.img_box figure img.sec_img {
    height: auto;
    border-radius: 0;
}

.img_box figure {
    border-radius: 0;
}

.img_box small {
    margin: 5px 0;
    font-size: 12px;
}
.logo_list_area {
    padding-top: 50px;
    padding-bottom: 25px;
}

.logo_list_area h2 {
    font-size: 24px;
    line-height: normal;
    text-align: left;
    margin-bottom: 16px;
}

.logo_box {
    margin: 0px 0;
}

.logo_box ul li figure {
    line-height: 158px;
    margin: 0 0 8px;
}

.logo_box ul li h4 {
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
}

.logo_box ul li {
    margin: 0 0 20px;
}

.logo_box h3 {
    font-size: 20px;
    line-height: normal;
}
.text_img_area h2 {
    font-size: 24px;
    line-height: normal;
}

.c-topic .image img {
    max-width: 100%;
    height: 100%;
    aspect-ratio: auto;
}

section.text_img_area .c-topic .content p {
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
}

section.text_img_area .c-topic .content p br {
    display: none;
}

.text_img_area {
    padding-top: 38px;
    padding-bottom: 50px;
}

.text_img_area .c-topic {
    gap: 10px 40px;
}

.client_list ul {
    display: flex;
    grid-template-columns: 1fr 1fr;
    column-gap: 22px;
    row-gap: 15px;
}
/*
.blog_list {
    padding: 50px 0;
}

.blog_list h2 {
    text-align: left;
    color: #333;
    font-size: 24px;
    line-height: normal;
    margin: 0 0 18px;
}

.blog_list .c-newsbox {
    padding: 23px 0 27px;
}
.c-newsbox .link {
    border-radius: 0 0 20px 20px;
}
.c-newsbox .c-post .date {
    font-size: 16px;
    line-height: normal;
}

.c-newsbox .c-post {
    column-gap: 5px;
	    padding-right: 20px !important;
}*/

/*.c-post .cat {
   font-size: 14px;
   font-weight: 700;
   line-height: normal;
   padding: 5px 12px;
    }*/
/*.blog_list .c-newsbox .c-post .c-textlink {
    color: #000;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.c-newsbox a.c-link {
    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
}	*/
.signup_bg h2 {
	max-width: 350px;
     margin-left: auto !important;
     margin-right: auto !important;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 22px;
}

.signup_bg a {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding: 15px 19px;
}

.signup_bg {
	        z-index: 1;
    padding-top: 40px;
    padding-bottom: 45px;
}
.signup_bg h2 br {
    display: none;
}

.top_banner img {
    height: 356px;
    object-fit: cover;
}

.bnr_area .bnr_caption {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

.full_bnr_caption {
    flex-wrap: wrap;
}

.bnr_caption_left {
    width: 100%;
    text-align: center;
}

.bnr_area .bnr_caption h1 {
    text-align: center;
    font-size: 20px;
    max-width: 323px;
    margin-right: auto;
    width: 100%;
    display: block;
    float: none;
    margin-left: auto;
}

/*.bnr_area .bnr_caption h1 br {
    display: none;
}*/

.bnr_area .bnr_caption h1, .bnr_area .bnr_caption h2 {
    font-size: 20px;
	line-height: 30px;
}
	.owl-carousel .owl-dots {
    right: 30px;
}
	
	.owl-carousel .owl-dots button {
    width: 12px;
    height: 12px;
}
	.mobile-logo {
    display: block;
}
	.desktop-logo {
    display: none;
}
	section.logo_list_area .container {
    --sideGap: 15px;
}
}
@media(max-width:724px){
    .logo_box ul li {
        flex: 0 0 47%;
    }	
}

@media(max-width:574px){
	.logo_box ul li {
    flex: 0 0 100%;
}
.top_banner .owl-carousel .owl-item .mobile-slide-image {
    display: block;
}
	.top_banner .owl-carousel .owl-item .desltop-slide-image{
    display: none !important;
}
}
/* :::::: 事業紹介 :::::: */
.p-service .c-post .thumb img {
	object-fit: contain;
}
