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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

div.main {
	width: 100%;
	line-height: 0;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 768px){
	
	div.main {
		margin-bottom: 80px;
    }
	
	section#info {
		width: 100%;
		background: #FFF;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 19vw), 0 100%);
		position: relative;
		z-index: 3;
    }
	
	section#info div.section_inner{
		width: 67%;
		max-width: 950px;
		margin: 0 auto;
		padding-bottom: 19vw;
	}
	
	section#info div.section_inner h2{
		font-size: 3.0rem;
		font-size: clamp(1.5rem, 2vw, 3.0rem);
		font-weight: 700;
		line-height: 1.9;
		letter-spacing: 0.18em;
		color: #0061ac;
		margin-bottom: 3.3vw;
    }
	
	section#info div.section_inner p{
		font-size: 1.8rem;
		font-size: clamp(0.9rem, 1.24vw, 1.8rem);
		line-height: 2.7;
		letter-spacing: 0.18em;
    }
	
	section#service {
		margin-top: -19vw;
		padding-top: 19vw;
		padding-bottom: 32.2vw;
		background: url("../images/top/bg_photo.jpg") no-repeat;
		background-size: cover;
		position: relative;
		z-index: 1;
	}
	
	section#service div.section_inner{
		width: 86%;
		margin: 0 auto;
    }
	
	section#service div.section_inner h2,
	section#company div.section_inner h2{
		font-family: "Bebas Neue", serif;
		font-size: 4.8rem;
		font-size: clamp(2.4rem, 3.31vw, 4.8rem);
		font-weight: 400;
		font-style: normal;
		color: #0061ac;
		line-height: 1;
		text-align: center;
		letter-spacing: 0.3em;
		margin-bottom: 6.8vw;
    }
	
	section#service div.section_inner h2 small,
	section#company div.section_inner h2 small{
		display: block;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 37.5%;
		font-weight: 700;
		color: #000;
		letter-spacing: 0.4em;
		margin-top: 3px;
    }
	
	section#service div.section_inner div.block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
	
	section#service div.section_inner div.block + div.block{
		margin-top: 10.5vw;
    }
	
	section#service div.section_inner div.block.reverse{
		flex-direction: row-reverse;
    }
	
	section#service div.section_inner div.block div.block_l{
		width: 51.2%;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-bottom: 2vw;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block span.num{
		display: inline-block;
		font-family: "Bebas Neue", serif;
		font-size: 12.0rem;
		font-size: clamp(6.0rem, 8.27vw, 12.0rem);
		font-weight: 400;
		font-style: normal;
		color: #0061ac;
		line-height: 1;
		text-align: center;
		margin-right: 5%;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block span.num small{
		display: block;
		font-size: 20%;
		letter-spacing: 0.14em;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3{
		font-size: 40.0rem;
		font-size: clamp(2.0rem, 2.75vw, 40.0rem);
		font-weight: 700;
		letter-spacing: 0.18em;
		line-height: 1.4;
		margin-top: 0.25vw;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3 span.logo01{
		width: 12.6vw;
		max-width: 184px;
		display: block;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3 span.logo02{
		width: 10.3vw;
		max-width: 150px;
		display: block;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3 span.logo03{
		width: 12.9vw;
		max-width: 188px;
		display: block;
    }
	
	section#service div.section_inner div.block div.block_l div.text_block h4{
		font-size: 2.4rem;
		font-size: clamp(1.2rem, 1.65vw, 2.4rem);
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1.58;
		margin-bottom: 1vw;
    }
	
	section#service div.section_inner div.block div.block_l div.text_block p{
		font-size: 1.6rem;
		font-size: clamp(0.8rem, 1.1vw, 1.6rem);
		letter-spacing: 0.06em;
		line-height: 2.25;
		margin-bottom: 2vw;
    }
	
	section#service div.section_inner div.block div.block_l div.text_block a{
		width: 24.6%;
		max-width: 155px;
		height: 3.1vw;
		max-height: 45px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		border-radius: 6px;
		font-size: 1.4rem;
		font-size: clamp(0.7rem, 0.96vw, 1.4rem);
		font-weight: 500;
		letter-spacing: 0.2em;
		line-height: 1;
		color: #FFF;
		background: #0061ac;
    }
	
	section#service div.section_inner div.block div.block_r{
		width: 51.6%;
		margin-right: -8.5%;
    }
	
	section#service div.section_inner div.block.reverse div.block_r{
		margin-right: 0;
		margin-left: -8.5%;
	}
	
	section#company {
		width: 100%;
		background: #FFF;
		clip-path: polygon(0 19vw, 100% 0, 100% 100%, 0 100%);
		position: relative;
		z-index: 3;
		padding-top: 19vw;
		margin-top: -19vw;
	}
	
	section#company div.section_inner{
		width: 86%;
		max-width: 1240px;
		margin: 0 auto;
	}
	
	section#company div.section_inner h3{
		width: 8.4%;
		line-height: 0;
		margin-bottom: 2vw;
	}
	
	section#company div.section_inner dl{
		border-top: 1px solid #CCC;
		font-size: 1.8rem;
		font-size: clamp(0.9rem, 1.24vw, 1.8rem);
		line-height: 2.2;
		letter-spacing: 0.2em;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#company div.section_inner dl dt{
		width: 25.8%;
		border-bottom: 1px solid #CCC;
		padding: 25px 0;
		font-weight: 400;
	}
	
	section#company div.section_inner dl dd{
		width: 74.2%;
		border-bottom: 1px solid #CCC;
		padding: 25px 0;
	}
}




/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 767px){
	
	div.main {
		margin-bottom: 12vw;
    }
	
	section#info {
		width: 100%;
		background: #FFF;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 19vw), 0 100%);
		position: relative;
		z-index: 3;
    }
	
	section#info div.section_inner{
		width: 84%;
		margin: 0 auto;
		padding-bottom: 30vw;
	}
	
	section#info div.section_inner h2{
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		font-weight: 700;
		line-height: 1.9;
		letter-spacing: 0.15em;
		color: #0061ac;
		margin-bottom: 3.3vw;
    }
	
	section#info div.section_inner p{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.91vw, 3.0rem);
		line-height: 2.3;
		letter-spacing: 0.1em;
    }
	
	section#service {
		margin-top: -19vw;
		padding-top: 30vw;
		padding-bottom: 30vw;
		background: url("../images/top/bg_photo.jpg") no-repeat;
		background-size: cover;
		position: relative;
		z-index: 1;
	}
	
	section#service div.section_inner{
		width: 86%;
		margin: 0 auto;
    }
	
	section#service div.section_inner h2,
	section#company div.section_inner h2{
		font-family: "Bebas Neue", serif;
		font-size: 4rem;
		font-size: clamp(4rem, 11.1vw, 8.52rem);
		font-weight: 400;
		font-style: normal;
		color: #0061ac;
		line-height: 1;
		text-align: center;
		letter-spacing: 0.3em;
		margin-bottom: 15vw;
    }
	
	section#service div.section_inner h2 small,
	section#company div.section_inner h2 small{
		display: block;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 37.5%;
		font-weight: 700;
		color: #000;
		letter-spacing: 0.4em;
		margin-top: 3px;
    }
	
	section#service div.section_inner div.block{
		position: relative;
    }
	
	section#service div.section_inner div.block + div.block{
		margin-top: 15vw;
    }
	
	section#service div.section_inner div.block div.block_l{
		width: 100%;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-bottom: 68vw;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block span.num{
		display: inline-block;
		font-family: "Bebas Neue", serif;
		font-size: 6.0rem;
		font-size: clamp(6.0rem, 15.6vw, 12.0rem);
		font-weight: 400;
		font-style: normal;
		color: #0061ac;
		line-height: 1;
		text-align: center;
		margin-right: 4%;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block span.num small{
		display: block;
		font-size: 20%;
		letter-spacing: 0.14em;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3{
		font-size: 1.9rem;
		font-size: clamp(1.9rem, 5.21vw, 4.0rem);
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.4;
		margin-top: 0.75vw;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3 span.logo01{
		width: 22.6vw;
		display: block;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3 span.logo02{
		width: 18.54vw;
		display: block;
    }
	
	section#service div.section_inner div.block div.block_l div.head_block h3 span.logo03{
		width: 23.22vw;
		display: block;
    }
	
	section#service div.section_inner div.block div.block_l div.text_block h4{
		font-size: 1.5rem;
		font-size: clamp(1.5rem, 4.17vw, 3.2rem);
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.58;
		margin-bottom: 2.5vw;
    }
	
	section#service div.section_inner div.block div.block_l div.text_block p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.61vw, 2.77rem);
		letter-spacing: 0.06em;
		line-height: 2;
		margin-bottom: 6vw;
    }
	
	section#service div.section_inner div.block div.block_l div.text_block a{
		width: 60%;
		height: 14vw;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		border-radius: 10px;
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.61vw, 2.77rem);
		font-weight: 500;
		letter-spacing: 0.2em;
		line-height: 1;
		color: #FFF;
		background: #0061ac;
    }
	
	section#service div.section_inner div.block div.block_r{
		width: 100%;
		position: absolute;
		top: 21vw;
		left: 0;
    }
	
	section#company {
		width: 100%;
		background: #FFF;
		clip-path: polygon(0 19vw, 100% 0, 100% 100%, 0 100%);
		position: relative;
		z-index: 3;
		padding-top: 30vw;
		margin-top: -19vw;
	}
	
	section#company div.section_inner{
		width: 86%;
		max-width: 1240px;
		margin: 0 auto;
	}
	
	section#company div.section_inner h3{
		width: 25%;
		line-height: 0;
		margin-bottom: 4vw;
	}
	
	section#company div.section_inner dl{
		border-top: 1px solid #CCC;
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 3.4rem);
		line-height: 2.2;
		letter-spacing: 0.2em;
	}
	
	section#company div.section_inner dl dt{
		width: 100%;
		padding: 6vw 0 1vw;
		font-weight: 700;
	}
	
	section#company div.section_inner dl dd{
		width: 100%;
		border-bottom: 1px solid #CCC;
		padding: 1vw 0 6vw;
	}
}