body{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"メイリオ",Meiryo,sans-serif;
	margin: 0;
	padding: 0;
	font-size: 1.8rem;
	letter-spacing: 0.07em;
	color: #222222;
}
html {
	overflow-x: hidden;
	font-size: 62.5%;
}
img{/*image-rendering:-webkit-optimize-contrast;*/ vertical-align: middle;}
p{text-align: justify;margin:0px;letter-spacing: 0.07em;line-height: 1.8;}
a{text-decoration: none;letter-spacing: 0.07em;line-height: 1.8;}
ul{list-style-type: none;margin: 0;padding: 0;}
ul li{letter-spacing: 0.07em;line-height: 1.8;}
h1,h2,h3{margin:0px;letter-spacing: 0.07em;line-height: 1.8;}
table{border-spacing: 0;border-collapse:collapse;}
table td{letter-spacing: 0.07em;line-height: 1.9;}
.inner{width: 90%; max-width: 1200px; margin: auto;}
.ns{font-family: "Noto Sans JP", sans-serif;font-weight: 600;}
.min{font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',"Noto Serif JP", serif;}
.error{text-align: center;margin: 200px 0 100px;}
.w960{display: block;}
.w960-2{display: none;}
.w768{display: block;}
.w768-2{display: none;}
.w500{display: block;}
.w500-2{display: none;}
.w320{display: block;}
.w320-2{display: none;}

/*ページトップ*/
#page-top {
    position: -webkit-sticky;
    position: sticky;
    bottom: 30px;
    right: 30px;
    float: right;
    z-index: 2;
    margin-top: -50px;
}
#page-top a{transition:all 0.3s;}
#page-top img{width: 86px;}
@media screen and (max-width: 960px){
	.w960{display: none;}
	.w960-2{display: block;}
	#page-top{bottom: 90px;}
}
@media screen and (max-width: 768px){
	body{font-size: 1.6rem;}
	.w768{display: none;}
	.w768-2{display: block;}
	#page-top{margin-top: -30px;right: 20px;bottom: 80px;}
	#page-top img{width: 60px;}
}
@media screen and (max-width: 500px){
	body{font-size: 1.4rem;}
	.w500{display: none;}
	.w500-2{display: block;}
}
@media (min-width: 500px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
@media screen and (max-width: 320px){
	.w320{display: none;}
	.w320-2{display: block;}
}

/*ヘッダー***************************/
#header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 70px);
	height: 90px;
	position: fixed;
    z-index: 10;
	transition: all, 0.5s;
	top:0;
	left:0;
	background-color: rgba(255, 255, 255, 0.7); 
  -webkit-backdrop-filter: blur(10px); 
  backdrop-filter: blur(10px);
	padding: 0px 40px 0px 30px;
}
#header h1 img{
	width: 320px;
}
#header h1 a{
	display: flex;
	align-items: flex-end;
}
nav,nav ul.navbar{
	display: flex;
	align-items: center;
}
nav ul.navbar li a{
	display: block;
	cursor: pointer;
	padding-right: 30px;
	border-left: 5px solid #0A1669;
	padding-left: 15px;
	font-size: 1.2rem;
	color: #222222;
}
nav ul.navbar li a span{
	display: block;
	font-size: 1.8rem;
	color: #0A1669;
	line-height: 1.3;
	font-weight: bold;
}
nav ul.navbar li:last-child a{
	padding-right: 0px;
}
nav ul.navbar li a:hover{opacity: 0.5;}
#header .btn_mail{
	position: absolute;
	top:110px;
	right: 0;
	background-color: #0A1669;
	color: #fff;
	padding: 35px 20px;
}
#header .btn_mail img{
	width: 30px;
	display: block;
	margin: 0 auto 15px;
}
#header .btn_mail p{
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.5;
}
#header .btn_mail p span{
	display: block;
	font-size: 1.8rem;
}
#header .btn_mail:hover{background-color: #00062F;}
@media screen and (max-width: 960px){
	#header nav ul.navbar li:first-child{display: none;}
	#header .btn_mail{display: none;}
}
@media screen and (max-width: 768px){
	#header{padding: 0px 20px;width: calc(100% - 40px);height: 70px;}
	#header h1 img {width: 130px;}
	nav ul.navbar li a{font-size: 1.1rem;border-left: 4px solid #0A1669;padding-left: 10px;}
	nav ul.navbar li a span{font-size: 1.4rem;}
}
@media screen and (max-width: 500px){
	#header {padding: 0px 10px;width: calc(100% - 20px);height: 60px;}
	#header h1 img {width: 100px;}
	nav ul.navbar li a{padding-right: 10px;border-left: 2px solid #0A1669;font-size: 1.0rem;}
	nav ul.navbar li a span {font-size: 1.1rem;}
}

/*メインビジュアル***************************/
.mv{
	position: relative;
}
.mv .catchcopy{
	position: absolute;
	z-index: 1;
	top:50%;
  left:50%;
  transform:translate(-50%,-50%);
	color: #fff;
	font-weight: bold;
	font-size: 8.4rem;
	letter-spacing: 0.4em;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
	width: 100%;
    text-align: center;
	font-feature-settings: "palt";
}
.zoom-fade{
	width: 100%;
    height: 100vh;
	position: relative;
	overflow: hidden;
}
/* ドット全体 */
.zoom-fade .slick-dots {
  position: absolute;
  bottom: 50px;
  right: 50px !important;
  left: auto !important;
  width: auto !important;
  text-align: right;
  transform: none !important;
  display: flex !important;
  justify-content: flex-end;
  gap: 16px;
  z-index: 1;
}
/* 背景画像を追加 */
.zoom-fade .slick-dots::before {
  content: "";
  position: absolute;
  bottom: -50px; 
  right: -50px;
  width: 416px; 
  height: 244px;
  background: url("../images/mv_moyou.png") no-repeat;
  background-size: cover;
  z-index: -1;
}
/* liの余白リセット */
.zoom-fade .slick-dots li {
  margin: 0;
}

/* ボタンリセット */
.zoom-fade .slick-dots li button {
  padding: 0;
}

/* ドット（通常） */
.zoom-fade .slick-dots li button:before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 2px solid #fff; 
  border-radius: 50%;
  opacity: 1;
}

/* アクティブ（塗りつぶし） */
.zoom-fade .slick-dots li.slick-active button:before {
  background: #fff;
}

.zoom-fade__item:nth-child(1) {background-image: url("../images/mv1.jpg");}
.zoom-fade__item:nth-child(2) {background-image: url("../images/mv2.jpg");}
.zoom-fade__item:nth-child(3) {background-image: url("../images/mv3.jpg");}
.zoom-fade__item:nth-child(4) {background-image: url("../images/mv4.jpg");}
.zoom-fade__item {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	height: 100vh!important;
}
.add-animation {
  animation: zoom-fade 10s both;
}
@keyframes zoom-fade {

  0% {
    /*transform: scale(1.05);*/
    transform: scale(1.2);
  }

  100% {
    /*transform: scale(1);*/
    transform: scale(1);
  }

}
.eiji{
	position: absolute;
	bottom: -15px;
	width: 82%;
    z-index: 1;
}
@media screen and (max-width: 960px){
	.mv .catchcopy{font-size: 6.0rem;}
	.zoom-fade,.zoom-fade__item{height: calc(100vh - 60px)!important;}
	.zoom-fade__item:nth-child(2),.zoom-fade__item:nth-child(3){background-position: center left -100px;}
	.zoom-fade .slick-dots{right: 10px !important;bottom: 10px!important;gap: 5px;}
	.zoom-fade .slick-dots::before{width: 230px;right: -10px;bottom: -10px;}
	.zoom-fade .slick-dots li button:before{width: 5px;height: 5px;}
}
@media screen and (max-width: 768px){
	.mv .catchcopy {font-size: 5.0rem;}
}
@media screen and (max-width: 500px){
	.mv .catchcopy {font-size: 3.4rem;letter-spacing: 0.3em;}
	.zoom-fade,.zoom-fade__item{height: 70vh!important;}
	.zoom-fade .slick-dots {right: 5px !important;bottom: 5px !important;gap: 1px;}
	.zoom-fade .slick-dots::before {width: 200px;right: -5px;bottom: -5px;height: 100px;}
	.zoom-fade .slick-dots li button:before{border: 1px solid #fff;width: 3px;height: 3px;}
	.slick-dots li{width: 15px!important;}
	.eiji{bottom: -5px;width: 75%;}
}

/*サブビジュアル***************************/
.sub{
	width: 100%;
	padding: 200px 0 120px;
	display: flex;
    flex-direction: column;
    justify-content: center;
	position: relative;
    z-index: 1;
}
.bu{background: url("../images/sub1.png") no-repeat center center/ cover;}
.re{background: url("../images/sub2.png") no-repeat center center/ cover;}
.co{background: url("../images/sub3.png") no-repeat center center/ cover;}
.sub h2{
	position: relative;
	font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
	color: #fff;
	padding-left: 120px;
}
.sub h2::before {
	content: attr(data-en);
	display: block;
	color: #fff;
	text-transform: uppercase;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.07em;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1290px){
	.sub h2{padding-left: 5%;font-size: 3.0rem;}
}
@media screen and (max-width: 960px){
	.sub{padding: 80px 0;margin-top: 90px;}
}
@media screen and (max-width: 768px){
	.sub{;margin-top: 70px;}
	.sub h2{font-size: 2.6rem;letter-spacing: 0.1em;}
	.sub h2::before{font-size: 1.6rem;}
}
@media screen and (max-width: 500px){
	.sub{margin-top: 60px;}
	.sub h2{font-size: 2.0rem;padding-left: 30px;}
	.sub h2::before{font-size: 1.4rem;}
	.bu{background: url("../images/sub1-2.png") no-repeat center center/ cover;}
	.re{background: url("../images/sub2-2.png") no-repeat center center/ cover;}
	.co{background: url("../images/sub3-2.png") no-repeat center center/ cover;}
}

/*全ページ共通***************************/


/*アニメーション要素のスタイル*/
.animation_bottom-top{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(100px);
	animation-duration:1.0s;
	
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/*トップページ***************************/
.top .midashi{
	text-align: center;
	display: block;
	margin: 150px 0;
	width: 100%;
}
.top .midashi .min{
	text-align: center;
	color: #0A1669;
	font-size: 8.6rem;
	font-weight: bold;
	line-height: 1.5;
	font-feature-settings: "palt";
	letter-spacing: 0.17em;
	margin-bottom: 20px;
}
.top .midashi .txt{
	font-size: 2.0rem;
	font-weight: bold;
	text-align: left;
	display: inline-block;
	line-height: 1.9;
	padding: 0 5%;
	padding-top: 30px;
}
.top .border{border-top: 2px solid #0A1669;}
.top .movie{
	background: url("../images/movie_bg.png") no-repeat center center/ cover;
	padding: 100px 0;
	margin-bottom: 130px;
}
.top .movie .youtube{
	max-width: 1200px;
    width: 90%;
    aspect-ratio: 16 / 9;
    margin: 0 auto 0;
}
.top .movie .youtube iframe {
     width: 100%;
     height: 100%;
}
.top .business_link{
	background: 
		url("../images/arrow_w.png") no-repeat center left 310px/ 83px,
		url("../images/top_business.jpg") no-repeat center center / cover;
	height: 275px;
	color: #fff;
	display: flex;
    flex-direction: column;
    justify-content: center;
	padding-left: 120px;
}
.top .business_link:hover,.top .recruit_link:hover{opacity: 0.7;}
.top .business_link h2{
	position: relative;
	font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
}
.top .business_link h2::before {
	content: attr(data-en);
	display: block;
	color: #fff;
	text-transform: uppercase;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.07em;
	font-family: "Noto Sans JP", sans-serif;
}
.top .recruit_link{
	background: 
		url("../images/arrow_b.png") no-repeat bottom 40px left 40px/ 83px,
		url("../images/top_recruit.jpg") no-repeat center center / cover;
	height: 663px;
	color: #0A1669;
	display: block;
	margin: 130px 0;
	padding-left: 40px;
}
.top .recruit_link h2{
	position: relative;
	font-weight: bold;
	font-size: 4.4rem;
	line-height: 1.3;
	letter-spacing: 0.2em;
}
.top .recruit_link h2::before {
	content: attr(data-en);
	display: block;
	color: #0A1669;
	text-transform: uppercase;
	font-size: 13.0rem;
	font-weight: bold;
	letter-spacing: 0em;
	font-family: "Noto Sans JP", sans-serif;
}
.top .recruit_link p{
	font-weight: bold;
	margin-top: 20px;
}
.company{
	background-color: #E6E7F0;
	padding: 150px 0;
}
.company h2{
	position: relative;
	font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
	text-align: center;
}
.company h2::before {
	content: attr(data-en);
	display: block;
	color: #0A1669;
	text-transform: uppercase;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.07em;
	font-family: "Noto Sans JP", sans-serif;
}
.company .rinen{
	max-width: 929px;
	width: 90%;
	margin: 100px auto 120px;
}
.company .rinen p:first-child{
	background-color: #0A1669;
	color: #fff;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 5px 0px;
}
.company .rinen p:last-child{
	text-align: center;
	font-size: 3.4rem;
	font-weight: bold;
	letter-spacing: 0.09em;
}
.company .aisatsu{
	position: relative;
	margin-bottom: 200px;
}
.company .aisatsu .flex{
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	max-width: 1000px;
	width: 80%;
	position: absolute;
	top: 0;
	left: 25%;
}
.company .aisatsu .flex img{
	width: 312px;
	box-shadow: 15px 15px 0px #DADBE4;
}
.company .aisatsu .flex .txt{
	width: 700px;
}
.company .aisatsu .name{
	font-weight: bold;
	text-align: right;
    display: block;
	margin-top: 30px;
}
.company .aisatsu .name p{
	text-align: left;
    display: inline-block;
}
.company .aisatsu .name p span{font-size: 2.4rem;}
.company .gaiyou{
	position: relative;
}
.company .aisatsu .ttl,.company .gaiyou .ttl {
    background-color: #0A1669;
    max-width: 600px;
    width: 50%;
    padding: 80px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.company .aisatsu .ttl h3,.company .gaiyou .ttl h3 {
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    border-left: 5px solid #fff;
    padding: 10px 0px 10px 20px;
    letter-spacing: 0.1em;
}
.company .gaiyou img{
	max-width: 1370px;
	width: 80%;
	display: block;
	box-shadow: 15px 15px 0px #DADBE4;
	position: absolute;
	top: 100px;
	left: 25%;
}
.company .table{
	max-width: 1200px;
	width: 90%;
	margin: 500px auto 0;
	position: relative;
}
.company table{
	width: 100%;
	border-spacing : 0px 10px!important;
        border-collapse : separate!important;
}
.company table th{
	position: relative;
  text-align: left;
  vertical-align: top;
  padding: 20px;
  color: #0A1669;
  white-space: nowrap;
}
.company table th::before{
	content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: calc(100% - 20px);
  background-color: #0A1669;
}
.company table td{
	padding: 20px 0;
  line-height: 1.6;
}
.company table td a{color:#222222;}
.company .table .company_img1{
	position: absolute;
	top: 10px;
	right: 0;
	width: 442px;
	box-shadow:15px 15px 0px #DADBE4;
}
.company .table .company_img2{
	position: absolute;
	top: 370px;
	right: 0;
	width: 442px;
	box-shadow:15px 15px 0px #DADBE4;
}
.company .map_ttl{
	padding: 10px;
  color: #0A1669;
	border-left: 5px solid #0A1669;
	font-weight: bold;
	margin: 80px 0 20px;
}
.top_contact{
	border: 2px solid #0A1669;
	margin: 130px 0;
	padding: 100px 10%;
}
.top_contact .ttl{
	position: relative;
	width: 500px;
	margin: auto;
}
.top_contact .ttl::before,.top_contact .ttl::after{
	content: '';
  position: absolute;
  top: 65%;
  display: inline-block;
  width: 86px;
  height: 2px;
  background-color: #0A1669;
}
.top_contact .ttl::before {
  left:0;
}
.top_contact .ttl::after{
  right: 0;
}
.top_contact h2{
	position: relative;
	font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
	text-align: center;
}
.top_contact h2::before {
	content: attr(data-en);
	display: block;
	color: #0A1669;
	text-transform: uppercase;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.07em;
	font-family: "Noto Sans JP", sans-serif;
}
.top_contact .flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 30px 0 40px;
}
.top_contact .flex p{
	width: 42%;
    background-color: #F2F2F2;
    text-align: center;
    font-size: 3.0rem;
    font-weight: bold;
    padding: 20px;
}
.top_contact .flex p a{color: #222222;}
.top_contact .contact_link{
	max-width: 480px;
	width: calc(100% - 40px);
	margin: auto;
	display: block;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 2.0rem;
	background: url(../images/mail.png) no-repeat center left 30px / 36px;
    background-color: #0A1669;
    padding: 30px 20px;
}
.top_contact .contact_link:hover{background-color: #00062F;}
@media screen and (max-width: 1900px){
	.company .gaiyou img{max-width: 1200px;}
}
@media screen and (max-width: 1670px){
	.company .aisatsu .ttl, .company .gaiyou .ttl{max-width: 450px;}
	.company .gaiyou img {max-width: 1000px;}
}
@media screen and (max-width: 1443px){
	.company .aisatsu .flex{left: 50%;transform: translate(-50%, 0%);}
	.company .aisatsu .flex .txt{width: calc(90% - 340px);}
	.company .gaiyou img{top: 180px;left: 50%;transform: translate(-50%, 0%);}
	.company .table{margin: 450px auto 0;}
}
@media screen and (max-width: 1310px){
	.top .recruit_link p{width: 50%;}
}
@media screen and (max-width: 1200px){
	.company .table .company_img1,.company .table .company_img2{width: 350px;}
	.company .table .company_img2{top: 400px;}
}
@media screen and (max-width: 1155px){
	.top .recruit_link h2::before{font-size: 10.0rem;}
	.top_contact{padding: 100px 5%;}
	.top_contact .flex p{width: 44%;}
}
@media screen and (max-width: 1000px){
	.company .aisatsu{margin-bottom: 100px;position: static;}
	.company .aisatsu .ttl, .company .gaiyou .ttl{padding: 30px 20px;}
	.company .aisatsu .flex{position: static;transform: none;margin: 40px auto 0px;flex-flow: column;width: 90%;}
	.company .aisatsu .flex img{margin: 0 auto 50px;}
	.company .aisatsu .flex .txt{width: 100%;}
	.company .gaiyou img{position: static;transform: none;margin: 40px auto 0px;width: 90%;}
	.company .table {margin: 100px auto 0;}
}
@media screen and (max-width: 960px){
	.top .midashi{margin: 100px 0;}
	.top .midashi .min{font-size: 6.0rem;}
	.top .business_link{padding-left: 60px;background: url(../images/arrow_w.png) no-repeat center left 270px / 83px, url(../images/top_business.jpg) no-repeat center center / cover;}
	#company{padding-top: 250px;margin-top: -250px;}
	.company .table{padding-bottom: 35%;}
	.company .table .company_img1{left: 0;bottom: 0;top: auto;width: 47%;}
	.company .table .company_img2{right: 0;bottom: 0;top: auto;width: 47%;}
	.company .map_ttl{margin: 10px 0 20px;}
	.top_contact .flex{flex-flow: column;}
	.top_contact .flex p{width: calc(100% - 40px);}
	.top_contact .flex p:first-child{margin-bottom: 20px;}
}
@media screen and (max-width: 768px){
	.top .midashi .min {font-size: 4.0rem;}
	.top .business_link{padding-left: 40px;background: url(../images/arrow_w.png) no-repeat center left 200px / 50px, url(../images/top_business.jpg) no-repeat center center / cover;}
	.top .business_link h2{font-size: 2.6rem;}
	.top .business_link h2::before{font-size: 1.6rem;}
	.top .recruit_link{height: 350px;background: url(../images/arrow_b.png) no-repeat bottom 40px left 40px / 50px, url(../images/top_recruit.jpg) no-repeat center center / cover;}
	.top .recruit_link h2{font-size: 2.6rem;padding-top: 20px;}
	.top .recruit_link h2::before{font-size: 5.0rem;}
	.top .recruit_link p {width: 45%; font-size: 1.4rem;}
	.company h2,.top_contact h2{font-size: 3.0rem;}
	.company .rinen{margin: 50px auto 80px;}
	.company .rinen p:first-child{font-size: 2.0rem;}
	.company .rinen p:last-child{font-size: 2.4rem;}
	.company .aisatsu .ttl h3, .company .gaiyou .ttl h3{font-size: 2.0rem;}
	.top_contact .ttl{width: 400px;}
	.top_contact .ttl::before, .top_contact .ttl::after{width: 70px;}
}
@media screen and (max-width: 500px){
	.top .midashi {margin: 70px 0;}
	.top .midashi .min {font-size: 2.6rem;}
	.top .midashi p:nth-child(2) {font-size: 1.6rem;}
	.top .movie{padding: 50px 0;margin-bottom: 80px;}
	.top .business_link{background: url(../images/arrow_w.png) no-repeat center left 150px / 50px, url(../images/top_business.jpg) no-repeat center center / cover;height: 170px;padding-left: 30px;}
	.top .business_link h2 {font-size: 2.0rem;}
	.top .business_link h2::before {font-size: 1.4rem;}
	.top .recruit_link{margin: 80px 0 10px;display: flex;flex-direction: column;justify-content: center;height: 230px;padding-left: 30px;background: url(../images/arrow_b.png) no-repeat bottom 40px left 30px / 50px, url(../images/top_recruit.jpg) no-repeat center center / cover;}
	.top .recruit_link h2{font-size: 2.0rem;padding-top: 0px;}
	.top .recruit_link h2::before {font-size: 2.6rem;}
	.top .r_txt{font-weight: bold;color: #0A1669;margin-bottom: 80px;}
	#company{padding-top: 150px;margin-top: -150px;}
	.company{padding: 100px 0;}
	.company .rinen p:first-child{font-size: 1.6rem;}
	.company .rinen p:last-child{font-size: 2.0rem;}
	.company .aisatsu .flex img{width: 220px;}
	.company .aisatsu .name p span {font-size: 1.8rem;}
	.top_contact{margin: 100px 0;padding: 50px 5%;}
	.top_contact .ttl{width: 100%;}
	.top_contact .ttl::before, .top_contact .ttl::after{width: 45px;}
	.company h2,.top_contact h2{font-size: 2.0rem;}
	.company h2::before,.top_contact h2::before{font-size: 1.6rem;}
	.top_contact .flex p{font-size: 1.8rem;}
	.top_contact .contact_link{background: url(../images/mail.png) no-repeat center left 20px / 20px;background-color: #0A1669;font-size: 1.6rem;}
}

/*事業紹介***************************/
.business .midashi{
	background: url(../images/business_bg.jpg) no-repeat center center / cover;
	text-align: center;
    display: block;
	margin-top: -50px;
    position: relative;
    z-index: -1;
    padding: 200px 0 450px;
}
.business .midashi p{
	text-align: left;
    display: inline-block;
	color: #0A1669;
	font-weight: bold;
	font-size: 2.0rem;
}
.business .naiyo{
	position: relative;
	margin-top: -300px;
}
.business .naiyo div{
	background-color: #0A1669;
	color: #fff;
	width: 70%;
    padding: 100px 0 100px 15%;
}
.business .naiyo div h3{
	font-size: 4.0rem;
	font-weight: bold;
	margin-bottom: 40px;
}
.business .naiyo div p{
    width: 50%;
}
.business .naiyo img{
	position: absolute;
	width: 872px;
	right: 0;
	top: 100px;
	box-shadow:20px 20px 0px #E8E7E7;
}
.business .works{
	border-left: 2px solid #0A1669;
	padding: 250px 5% 100px;
	margin-bottom: 130px;
}
.business .works .ttl{
	display: flex;
	align-items: baseline;
	color: #0A1669;
	font-weight: bold;
	margin-bottom: 20px;
}
.business .works .ttl p{
	font-size: 13.4rem; 
	letter-spacing: 0em;
	margin-right: 30px;
}
.business .works .ttl h2{
	font-size: 3.4rem;
}
.business .wrap{
	display: flex;
    flex-wrap: wrap;
}
.business .wrap div{
	width: 47.5%;
}
.business .wrap div:not(:nth-child(2n+2)) {
    margin-right: 5%;
}
.business .wrap div:nth-child(n+3) {
    margin-top: 8%;
}
.business .wrap div img{
	width: 100%;
	margin-bottom: 20px;
}
.business .wrap div .tatemono{
	color: #0A1669;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.6;
}
.business .job{
	margin-bottom: 150px;
}
.business .job .ttl{
	background-color: #0A1669;
	padding: 80px 20px 350px;
}
.business .job .ttl .inner{
	display: flex;
	align-items: baseline;
}
.business .job .ttl p{
	font-size: 13.4rem; 
	letter-spacing: 0em;
	margin-right: 30px;
	color: #fff;
	font-weight: bold;
}
.business .job .ttl h2{
	font-size: 3.4rem;
	color: #fff;
	font-weight: bold;
}
.business .job .list {
  display: flex;
  gap: 50px;
  justify-content: center;
	margin-top: -250px;
}
.business .job .card {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.business .job .job-img {
  position: relative;
  margin-bottom: 20px;
}
.business .job .job-img img {
  width: 100%;
  display: block;
}
.business .job .job-img p{
  position: absolute;
  bottom: 20px;
  left: 0;
  background: #0A1669;
  color: #fff;
  padding: 10px 20px;
  font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	max-width: 450px;
    width: 80%;
}
.business .job ul {
  margin-bottom: 30px;
  flex: 1;
}
.business .job ul li {
  position: relative;
  padding-left: 20px;
	font-size: 1.7rem;
}
.business .job ul li::before {
  content: "○";
  position: absolute;
  left: 0;
}
.business .job .btn {
  display: block;
  border: 2px solid #0A1669;
	background: url(../images/arrow_b.png) no-repeat center right 20px/ 84px;
  color: #0A1669;
	text-align: left;
  padding: 5px 20px;
  font-weight: bold;
  position: relative;
	font-size: 3.0rem;
}
.business .job .btn:hover{
	background: url(../images/arrow_w.png) no-repeat center right 20px/ 84px;
	background-color: #0A1669;
  color: #fff;
}
@media screen and (max-width: 1800px){
	.business .naiyo img{width: 700px;top: 150px;}
}
@media screen and (max-width: 1440px){
	.business .naiyo div{padding: 100px 0 100px 10%;}
}
@media screen and (max-width: 1310px){
	.business .naiyo div{padding: 100px 0 100px 5%;}
	.business .naiyo img{width: 650px;}
}
@media screen and (max-width: 1150px){
	.business .naiyo div{padding: 60px 0 60px 5%;}
	.business .naiyo img {width: 55%;}
}
@media screen and (max-width: 960px){
	.business .midashi{padding: 150px 5% 120px;}
	.business .naiyo {position: static;margin-top: 0;}
	.business .naiyo div{width: 90%;padding: 8% 5%;}
	.business .naiyo div p {width: 100%;}
	.business .naiyo img{position: static;margin: auto;display: block;width: 100%;}
	.business .works{padding: 100px 5%;margin-bottom: 100px;}
	.business .job .list{flex-flow: column;}
	.business .job .card{width: 90%;margin: auto;}
}
@media screen and (max-width: 768px){
	.business .naiyo div h3{font-size: 3.0rem;margin-bottom: 20px;}
	.business .works .ttl p,.business .job .ttl p{font-size: 6.4rem;margin-right: 20px;}
	.business .works .ttl h2,.business .job .ttl h2{font-size: 2.4rem;}
	.business .wrap div .tatemono{font-size: 2.0rem;}
	.business .job .ttl{padding: 60px 20px 300px;}
}
@media screen and (max-width: 500px){
	.business .midashi {padding: 100px 5% 70px;}
	.business .midashi p{font-size: 1.6rem;}
	.business .naiyo div h3{font-size: 2.0rem;margin-bottom: 10px;}
	.business .works .ttl p, .business .job .ttl p {font-size: 4.0rem;margin-right: 10px;}
	.business .works .ttl h2, .business .job .ttl h2 {font-size: 2.0rem;}
	.business .wrap div {width: 100%;}
	.business .wrap div:not(:nth-child(2n+2)) {margin-right: 0%;}
	.business .wrap div:nth-child(n+2) {margin-top: 8%;}
	.business .wrap div .tatemono {font-size: 1.6rem;}
	.business .works{margin-bottom: 0px;}
	.business .job{margin-bottom: 100px;}
	.business .job .card{width: 100%;}
	.business .job .job-img p{font-size: 1.8rem;}
	.business .job ul li{font-size: 1.4rem;}
	.business .job .btn{background: url(../images/arrow_b.png) no-repeat center right 20px / 50px;font-size: 1.8rem;}
}

/*採用情報***************************/
.recruit{
	margin: 100px 0 130px;
}
.recruit .midashi {
	display: flex;
	background: url(../images/recruit_bg.png) no-repeat center center/ cover;
	padding: 100px 0;
}
.recruit-img {
  width: 50%;
}
.recruit-img img {
  width: 100%;
  height: 90%;
  object-fit: cover;
}
.recruit-content {
  width: 55%;
  background: #fff;
  padding: 100px 80px;
  margin-left: -10%;
  margin-top: 150px;
}
.recruit-content p:first-child {
  font-size: 8.0rem;
  color:#0A1669;
  margin-bottom: 30px;
	font-weight: bold;
}
.recruit-content p:last-child{
  font-size: 2.0rem;;
	font-weight: bold;
	line-height: 1.9;
}
.recruit .interview{
	background: url(../images/interview_bg.jpg) no-repeat center center/ cover;
	margin: 130px 0 200px;
    padding: 60px 0 120px;
}
.recruit .interview .ttl{
	display: flex;
	align-items: baseline;
	color: #0A1669;
	font-weight: bold;
	margin-bottom: 20px;
}
.recruit .interview .ttl p{
	font-size: 13.4rem; 
	letter-spacing: 0em;
	margin-right: 30px;
}
.recruit .interview .ttl h2{
	font-size: 3.4rem;
}
.recruit .interview .flex{
	display: flex;
  gap: 50px;
  justify-content: center;
}
.recruit .interview .box{
	width: 100%;
  display: flex;
  flex-direction: column;
	position: relative;
}
.recruit .interview .box .number{
	position: absolute;
	top: 0;
	left: 0;
	color: #0A1669;
	font-size: 80px;
	font-weight: bold;
	letter-spacing: 0em;
	text-box: trim-both cap alphabetic;
}
.recruit .interview .box:hover{opacity: 0.6;}
.recruit .interview .box img{
  width: 100%;
  display: block;
}
.recruit .interview .box div{
	background: url(../images/arrow_w.png) no-repeat center right 10px/ 49px;
	background-color: #0A1669;
	position: absolute;
	bottom: 0;
	width: 100%;
}
.recruit .interview .box div p{
	color: #fff;
	font-weight: bold;
	padding: 10px 20px;
}
.recruit .interview .box div p span{
	font-size: 1.4rem;
}
.recruit .bosyu{
	background-color: #F2F2F2;
	padding: 5% 0 8%;
	margin-bottom: 130px;
}
.recruit .bosyu .ttl{
	background-color: #0A1669;
	max-width: 600px;
	width: 50%;
	padding: 80px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
	margin: -200px 0 3%;
}
.recruit .bosyu .ttl h2{
	color: #fff;
	font-weight: bold;
	font-size: 2.4rem;
	border-left:5px solid #fff;
	padding: 10px 0px 10px 20px;
	letter-spacing: 0.1em;
}
.recruit .bosyu .inner{
	background-color: #fff;
	padding: 5%;
    width: 80%!important;
}
.recruit .bosyu .name{
	color: #0A1669;
	font-weight: bold;
	font-size: 2.4rem;
	border-bottom: 1px solid #0A1669;
	letter-spacing: 0.2em;
    margin-bottom: 30px;
    padding-bottom: 10px;
}
.recruit .bosyu table{
	border: 1px #0A1669 solid;
	margin: auto;
	width: 100%;
}
.recruit .bosyu table th{
	background-color: #F2F2F2;
	color: #0A1669;
	text-align: left;
	border: 1px #0A1669 solid;
	padding: 15px 20px;
	width: 170px;
}
.recruit .bosyu table td{
	border: 1px #0A1669 solid;
	padding: 15px 20px;
}
.entry{
	width: 80%;
    max-width: 1200px;
    margin: auto;
	border: 2px solid #0A1669;
	padding: 8% 5%;
}
.entry h2{
	position: relative;
	font-weight: bold;
	font-size: 3.4rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
	text-align: center;
}
.entry h2::before {
	content: attr(data-en);
	display: block;
	color: #0A1669;
	text-transform: uppercase;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.07em;
	font-family: "Noto Sans JP", sans-serif;
}
.entry a{
	background: url(../images/mail.png) no-repeat center left 40px/ 36px;
	background-color: #0A1669;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 2.0rem;
	max-width: 654px;
	width: 90%;
    display: block;
    margin: 30px auto 0;
    padding: 50px 0;
}
.entry a:hover{background-color: #00062F;}
@media screen and (max-width: 1780px){
	.recruit-content p:first-child{font-size: 6.0rem;}
}
@media screen and (max-width: 1366px){
	.recruit-content{padding: 60px;}
	.recruit-content p:first-child{font-size: 5.0rem;}
}
@media screen and (max-width: 1188px){
	.recruit .interview .ttl p{font-size: 10.0rem;}
	.recruit .interview .ttl h2{font-size: 3.0rem;}
}
@media screen and (max-width: 1130px){
	.recruit-content p:first-child{font-size: 4.0rem;}
	.recruit .interview .flex{gap: 20px;}
	.recruit .interview .box div{background: url(../images/arrow_w.png) no-repeat center right 10px / 30px;background-color: #0A1669;}
}
@media screen and (max-width: 960px){
	.recruit .midashi{flex-flow: column-reverse;}
	.recruit-content{margin: auto;width: calc(90% - 120px);}
	.recruit-img{width: 90%;margin: auto;}
	.recruit .interview .ttl p{font-size: 8.0rem;}
	.recruit .interview .ttl h2{font-size: 2.7rem;}
	.recruit .interview .flex{flex-flow: column;gap: 40px;}
	.recruit .interview .box{width: 50%;margin: auto;}
	.recruit .bosyu .ttl{padding: 30px 20px;margin: -100px 0 3%;}
}
@media screen and (max-width: 768px){
	.recruit .interview .ttl{flex-flow: column;margin-bottom: 50px;}
	.recruit .interview .ttl p{font-size: 6.4rem;margin: auto;}
	.recruit .interview .ttl h2{margin: -20px auto 0;}
	.recruit .interview .box .number{font-size: 60px;}
	.recruit .bosyu .ttl h2,.recruit .bosyu .name{font-size: 2.0rem;}
	.recruit .bosyu table{border-bottom: none;}
	.recruit .bosyu table th,.recruit .bosyu table td{display: block;width: calc(100% - 40px);}
	.recruit .bosyu table th{border-bottom: none;border-right: none;border-left: none;border-top: none;}
	.recruit .bosyu table td{border-top: none;border-right: none;border-left: none;}
	.entry h2{font-size: 3.0rem;}
}
@media screen and (max-width: 500px){
	.recruit{margin: 60px 0 100px;}
	.recruit .midashi{padding: 70px 0;}
	.recruit-content{padding: 30px;width: calc(90% - 60px);}
	.recruit-content p:first-child{font-size: 2.0rem;line-height: 1.5;margin-bottom: 10px;}
	.recruit-content p:last-child{font-size: 1.6rem;}
	.recruit .interview{margin: 80px 0 150px;padding: 60px 0 80px;}
	.recruit .interview .ttl p{font-size: 4.0rem;}
	.recruit .interview .ttl h2{font-size: 2.0rem;margin: -5px auto 0;}
	.recruit .interview .box{width: 70%;}
	.recruit .interview .box .number{font-size: 40px;}
	.recruit .bosyu{padding: 60px 0 80px;margin-bottom: 100px;}
	.recruit .bosyu .ttl{margin: -130px 0 30px;}
}
@media screen and (max-width: 360px){
	.recruit .interview .box{width: 80%;}
}

/*社員インタビュー***************************/
.interview_syousai{margin-bottom: 130px;}
.interview_syousai .ttl{
	display: flex;
	align-items: baseline;
	justify-content: center;
	color: #0A1669;
	font-weight: bold;
	margin-bottom: 20px;
}
.interview_syousai .ttl p{
	font-size: 13.4rem; 
	letter-spacing: 0em;
	margin-right: 30px;
}
.interview_syousai .ttl h2{
	font-size: 3.4rem;
}
#tekkotsu{padding-top: 140px;margin-top: -140px;}
.interview_syousai .bg{background-color: #E6E7F0;margin-bottom: 130px;}
.interview_syousai h3{
	background-color: #0A1669;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 5.0rem;
	letter-spacing: 0.15em;
	padding: 60px 20px;
}
.interview_syousai .box{
	background: url(../images/interview_syousai_bg.jpg) no-repeat center center/ cover;
	padding: 8% 0;
	margin-top: 100px;
}
.interview_syousai .flex{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.interview_syousai .img{width: 34%;}
.interview_syousai .comment{width: 58%;}
.interview_syousai .number{
	color: #fff;
	font-size: 80px;
	font-weight: bold;
	letter-spacing: 0em;
	text-box: trim-both cap alphabetic;
	margin-bottom: 30px;
}
.interview_syousai .img img{
	width: 95%;
}
.interview_syousai .name{
	background-color: #0A1669;
	font-weight: bold;
	color: #fff;
	width: calc(90% - 60px);
	margin: -120px 0 0 auto;
    position: relative;
	padding: 30px;
}
.interview_syousai .name p:first-child{
	border-bottom: 1px solid #fff;
    margin-bottom: 10px;
    padding-bottom: 10px;
	letter-spacing: 0em;
}
.interview_syousai .name p:first-child span{font-size: 1.4rem;}
.interview_syousai .name p:last-child{font-size: 2.0rem;}
.interview_syousai .comment .q{
	color: #0A1669;
	border-left: 6px solid #0A1669;
	font-weight: bold;
	padding-left: 10px;
	margin-bottom: 20px;
}
.interview_syousai .comment .a{
	font-size: 1.6rem;
	margin-bottom: 60px;
}
.interview_syousai .comment .a:last-child{
	margin-bottom: 0;
}
.timeline {
  padding: 150px 0px;
	position: relative;
	overflow-x: auto;
  overflow-y: hidden;
}
.timeline img{
	position: absolute;
	width: 404px;
	top:50%;
  left:0%;
  transform:translate(-20%,-50%);
}
.timeline-item {
  flex: 0 0 auto;
  width: 300px;
  position: relative;
  text-align: center;
}
.time {
  background: #0A1669;
  color: #fff;
  font-size: 28px;
  padding: 30px 0;
  width: 150px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.content {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
}
.content.top {
  bottom: 100%;
  margin-bottom: 130px;
}
.content.bottom {
  top: 100%;
  margin-top: 115px;
}
.content::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -60px;
  width: 1px;
  height: 60px;
  background: #0A1669;
  transform: translateX(-50%);
}
.content.top::before {
  bottom: -130px;
  height: 130px;
}
.content.bottom::before {
  top: -115px;
  height: 115px;
}
.dot {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  background: #1a2a6c;
  border-radius: 50%;
  z-index: 2;
}
.title {
  position: absolute;
  left: calc(50% + 20px); 
  top: -15px;
      width: 300px;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.4;
}
.title span{
	font-weight: normal;
	font-size: 1.6rem;
}
.title2 {
  position: absolute;
  left: calc(50% + 20px); 
  top: -15px;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.4;
}
.timeline {
  -webkit-overflow-scrolling: touch;
}
.timeline::-webkit-scrollbar {
  display: none;
}
.ad{top: -70px;}
.history_area{
	margin-left: 400px;
}
.scroll-hint,
.scroll-hint-icon {
  overflow: visible;
}
.scroll-hint-icon{
    display: none ;
}
.history_list{
	position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
    display: flex;
	overflow-x: auto;
  overflow-y: hidden;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
	padding: 200px 0px;
}
.history_list::before{
	content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 3000px;
  height: 2px;
  background: #0A1669;
  transform: translateY(-50%);
}
#gensun {padding-top: 140px;margin-top: -140px;}
@media screen and (max-width: 1188px){
	.interview_syousai .ttl p{font-size: 10.0rem;}
	.interview_syousai .ttl h2{font-size: 3.0rem;}
}
@media screen and (max-width: 960px){
	.interview_syousai .ttl p {font-size: 8.0rem;}
	.interview_syousai .ttl h2 {font-size: 2.7rem;}
	.interview_syousai h3{font-size: 4.0rem;}
	#interview1,#interview2,#interview3{padding-top: 150px;margin-top: -150px;}
	.interview_syousai .box{background: url(../images/interview_syousai_bg.jpg) no-repeat center left 40% / cover;}
	.interview_syousai .flex{flex-flow: column;}
	.interview_syousai .img{width: 100%;margin: 0 auto 50px;}
	.interview_syousai .img img{width: 50%;margin: auto;display: block;}
	.interview_syousai .name{margin: -120px auto 0;width: calc(70% - 60px);}
	.interview_syousai .comment {width: 100%;}
	.timeline img{top: 10%;left: 50%;transform: translate(-50%, 0%);}
	.history_area{margin-left: 0px;margin-top: 370px;}
	.scroll-hint-icon{display: block;position: relative; z-index: 5;background: rgba(0, 0, 0, 10)!important;padding: 30px 10px 10px!important; width: 140px!important;}
}
@media screen and (max-width: 768px){
	.interview_syousai .ttl{flex-flow: column;margin: 30px 0 0;}
	.interview_syousai .ttl p{font-size: 6.4rem;margin: auto;}
	.interview_syousai .ttl h2{margin: -20px auto 0;}
	.interview_syousai h3{font-size: 3.0rem;}
	#tekkotsu,#gensun{padding-top: 230px;margin-top: -200px;}
	.interview_syousai .number{font-size: 60px;}
	.interview_syousai .name{margin: -90px auto 0;}
	.interview_syousai .name p:first-child,.interview_syousai .name p:last-child{text-align: center;}
	.interview_syousai .comment .a{margin-bottom: 40px;}
}
@media screen and (max-width: 500px){
	.interview_syousai{margin-bottom: 100px;}
	.interview_syousai .ttl p {font-size: 4.0rem;margin: 20px auto 0;}
	.interview_syousai .ttl h2{font-size: 2.0rem;margin: -5px auto 0;}
	.interview_syousai h3{font-size: 2.0rem;padding: 30px 20px;}
	.interview_syousai .bg{margin-bottom: 50px;}
	.interview_syousai .box{margin-top: 50px;}
	.interview_syousai .number{font-size: 40px;}
	.interview_syousai .name{margin: -40px auto 0;padding: 20px;width: calc(70% - 40px);}
	.interview_syousai .name p:last-child{font-size: 1.8rem;}
	.timeline{padding: 150px 0px 50px;}
	.timeline img{width: 250px;top: 7%;}
	.timeline-item{width: 200px;}
	.time{font-size: 20px;}
	.title,.title2{font-size: 1.8rem;}
	.title span{font-size: 1.4rem;}
	.history_area{margin-top: 200px;}
	.history_list::before{width: 2050px;}
	.entry h2{font-size: 2.0rem;}
	.entry h2::before{font-size: 1.6rem;}
	.entry a{width: 100%;padding: 30px 0;font-size: 1.6rem;background: url(../images/mail.png) no-repeat center left 20px / 20px;background-color: #0A1669;}
}

/*お問い合わせ***************************/
.contact{
	background-color: #E6E7F0;
	padding: 160px 0 150px;
	margin-top: -40px;
}
.contact .inner{max-width: 1000px;}
.contact .txt{
	color: #0A1669;
	font-weight: bold;
	margin-bottom: 40px;
}
.contact table th {
    text-align: left;
    width: 300px;
	font-size: 1.6rem;
}
.contact table td {
    width: 70%;
    font-size: 1.6rem;
}
.contact table th,.contact table td{
	padding: 10px 0px;
}
.contact .hissu{
	color: #fff;
	background-color: #F06F5E;
	border-radius: 3px;
	padding: 5px 7px;
	font-size: 12px;
	margin-left: 20px;
}
.contact table input[type="text"], .contact table input[type="tel"], textarea {
    width: 96%;
    padding: 2%;
    font-size: 16px;
	border: none;
}
textarea{line-height: 1.5;}
.contact table input[type="checkbox"] {
    transform: scale(1.5);
    display: inline-block;
    top: 0px;
    position: relative;
}
/* Safari */
_::-webkit-full-page-media, _:future, :root .contact table input[type="radio"],input[type="checkbox"] {
    vertical-align:middle;
}
.contact .flex{
	display: flex;
	width: 100%!important;
}
.radioItem {
  display: inline-flex;
  align-items: center;
  column-gap: 8px;
  line-height: 1;
  cursor: pointer;
}

.radioItem:not(:last-of-type) {
  margin-right: 30px;
}

.radioButton{
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  cursor: pointer;
	margin: 0;
	border-radius: 50%;
}
.radioButton:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  background-color: #0A1669;
	border-radius: 50%;
}
.doui{
	border-top: 1px solid #0A1669;
	border-bottom: 1px solid #0A1669;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 30px 0px;
    margin: 20px 0px 30px;
}
.checkboxItem {
  display: flex;
  align-items: center;
  column-gap: 8px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
	margin: auto;
}

.checkboxItem:not(:last-of-type) {
  margin-bottom: 16px;
}

.checkbox {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  background-color: #ffffff;
  cursor: pointer;
}

.checkbox:checked {
  background-color: #0a1669;
}

.checkbox:checked::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 3px;
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}
.contact .btn{
	background: url(../images/arrow_w.png) no-repeat center right 20px / 36px;
    background-color: #0A1669;
    max-width: 300px;
	width: 80%;
    display: block;
    color: #fff;
    padding: 15px 20px;
    border: none;
    text-align: center;
    margin: auto;
    font-size: 1.6rem;
	position: relative;
	z-index: 1;
	font-weight: bold;
}
.contact .btn2{
    background-color: #0A1669;
    max-width: 300px;
	width: 80%;
    display: block;
    color: #fff;
    padding: 15px 20px;
    border: none;
    text-align: center;
    margin: 20px auto 0;
    font-size: 1.6rem;
	position: relative;
	z-index: 1;
	font-weight: bold;
}
.contact .btn:hover,.contact .btn2:hover{background-color: #00062F;}
#policy h3{
	padding: 150px 0 10px;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    margin-top: -90px;
}
#policy div{
	background-color: #fff;
    height: 280px;
    overflow: scroll;
    padding: 30px;
    font-size: 1.2rem;
    margin: auto;
    max-width: 500px;
}
.contact .thanks_txt{
	text-align: center;
	font-size: 1.6rem;
}
.contact .thanks_txt span{font-weight: bold;}
@media screen and (max-width: 960px){
	.contact{padding: 150px 0;}
	#policy h3{padding: 290px 0 10px;margin-top: -220px;}
}
@media screen and (max-width: 768px){
	.contact table{width: 100%;}
	.contact table th, .contact table td{display: block;width: 100%;}
	.contact table th{padding: 20px 0px 8px;}
	.checkboxItem{flex-flow: column;}
	.checkbox{margin-bottom: 20px;}
	.checkboxItem .hissu{margin-left: 0px;margin-top: 10px;}
}
@media screen and (max-width: 500px){
	.contact {padding: 100px 0 130px;}
	.contact table input[type="text"], .contact table input[type="tel"]{height: 30px;}
	.contact .flex{display: grid;}
	.radioItem:not(:last-of-type) {margin-right: 0px;margin-bottom: 15px;}
	.checkboxItem{line-height: 1.6;}
	.contact .thanks_txt{font-size: 1.4rem;}
}

/*フッター***************************/
footer{
	background-color: #F2F2F2;
	padding: 80px 0;
}
footer .flex{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 40px;
}
footer .info a img{
	width: 318px;
	margin-bottom: 10px;
}
footer .info p a{color: #222222;}
footer .flex2{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
footer .policy_link{
	display: block;
	background: url(../images/arrow_w.png) no-repeat center right 20px / 36px;
	background-color: #0A1669;
	color: #fff;
	font-size: 1.6rem;
	width: 360px;
	padding: 10px 20px;
	margin-bottom: 10px;
}
footer .policy_link:hover{background-color: #00062F;}
footer .copy{
	font-size: 1.2rem;
}
footer .contact_link{
	background-color: #0A1669;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 30px;
}
footer .contact_link:hover{background-color: #00062F;}
footer .contact_link img{
	width: 90px;
	margin-right: 20px;
}
footer .contact_link p{
	font-size: 1.6rem;
	line-height: 1.5;
}
footer .contact_link p span{
	font-weight: bold;
	font-size: 2.2rem;
	display: block;
}
@media screen and (max-width: 960px){
	footer{padding: 80px 0 130px;}
	footer .inner{width: 100%;}
	footer .flex{flex-flow: column;}
	footer .info{text-align: center;margin: 0 5% 30px;width: 90%;}
	footer .info p{text-align: center;}
	footer nav{width: 100%;border-top: 2px solid #0A1669;}
	footer nav ul.navbar{display: inline-grid;width: 100%;grid-template-columns: repeat(2, auto);border-bottom: 2px solid #0A1669;}
	footer nav ul.navbar li:nth-child(1),footer nav ul.navbar li:nth-child(2){border-bottom: 2px solid #0A1669;}
	footer nav ul.navbar li:nth-child(1),footer nav ul.navbar li:nth-child(3){border-right: 2px solid #0A1669;}
	footer nav ul.navbar li a{padding: 8px 0;border-left: none;text-align: center;}
	footer .flex2{flex-flow: column-reverse;}
	footer .contact_link{margin-bottom: 30px;}
	footer .copy{text-align: center;}
	footer .policy_link{margin-bottom: 30px;}
	footer .kotei{
		background-color: #0A1669;
		text-align: center;
		color: #fff;
		font-size: 1.8rem;
		font-weight: bold;
		width: 100%;
		position: fixed;
        bottom: 0;
        height: 60px;
		display: flex;
    justify-content: center;
    align-items: center;
		z-index: 1;
	}
	footer .kotei img{width: 20px; margin-right: 10px;vertical-align: text-top;}
}
@media screen and (max-width: 500px){
	footer nav ul.navbar li a{font-size: 1.2rem;}
	footer nav ul.navbar li a span{font-size: 1.6rem;}
	footer .contact_link img{width: 60px;}
	footer .policy_link{width: 240px;font-size: 1.4rem;}
}
@media screen and (max-width: 390px){
	footer .info a img{width: 250px;}
}
