@charset "utf-8";
/*---------------------------------------------------------
Theme Name: 有限会社エヌエス
Theme URI: http://
Description: 有限会社エヌエス
Author: 有限会社エヌエス
Author URI: http://
Version: 1.0
---------------------------------------------------------*/

/* ========== CSS import ========== */
@import url(css/reset.css);

/*全体共通*/
html {
	overflow-x: hidden;
	overflow-y: scroll;
}
body {
  position: relative;
  -webkit-text-size-adjust: 100%;
  width: 100%;
	height: auto;
  color: #222222;
  overflow-x: hidden;
}
img {
	width: 100%;
}
h1{
  max-height: 100%; 
  color: #222222;
}
a{
	color: #222222;
	font-weight: normal;
}
a:hover{
	cursor: pointer;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.under{
	border-bottom: 1px solid #222222;
}
.lgText{
	font-size: 30.77vw;
	color: #222222;
	opacity: 0.1;
	line-height: 0;
}
@media screen and (min-width:481px){
	.lgText {
		font-size: 29vw;
	}
}
@media screen and (min-width:780px){
	.lgText {
		font-size: 17vw;
	}
}
@media screen and (min-width:1200px){
	.lgText {
		font-size: 24.0rem;
	}
}

/*フォント*/
html { font-size: 62.5%; } 
body { font-size: calc((100vw / 375) * 14); } 
h1 { font-size: 2.5rem; } 
h2 { font-size: calc((100vw / 375) * 14); }
@media screen and (min-width:780px) {
	body { font-size: 1.4rem; } 
	h1 { font-size: 2.5rem; } 
	h2 { font-size: 2rem; }
}

body{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.jp{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
}
.en{
	font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.enBold{
	font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
}

.enOswald{
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}


/*PC*/
@media screen and (min-width:480px){
	.pc{
		display: block!important;
	}
	.tab{
		display: none!important;
	}
	.sp{
		display: none!important;
	}
	.tab_sp{
		display: none!important;
	}
	.tab_pc{
		display: block!important;
	}
}
/*TAB*/
@media screen and (max-width:899px){
	.pc{
	  	display: none!important;
	}
	.tab{
		display: block!important;
	}
	.sp{
		display: none!important;
	}
	.tab_sp{
		display: block!important;
	}
	.tab_pc{
		display: block!important;
	}
}

/*SP*/
@media screen and (max-width:480px){
	.tab{
		display: none!important;
	}
	.sp{
		display: block!important;
	}
	.tab_pc{
		display: none!important;
	}
}

/* コンテナ */
.container {
	position: relative;
	width: auto;
	margin: 0 auto;
	padding-left: calc((100vw / 375) * 15);
	padding-right: calc((100vw / 375) * 15);
}
@media screen and (min-width:480px) {
	.container {
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media screen and (min-width: 1190px) {
	.container {
		max-width: 1280px;
		padding-left: 0;
		padding-right: 0;
	}
	.container.sizeMd {
		max-width: 1046px;
		padding-left: 0;
		padding-right: 0;
	}
	.container.sizeSm {
		max-width: 800px;
		padding-left: 0;
		padding-right: 0;
	}
}


/*パンくずリスト*/
.breadcrumbs{
	padding-top: calc((100vw / 375) * 15);
	padding-bottom: calc((100vw / 375) * 15);
	padding-left: calc((100vw / 375) * 15);
	white-space: nowrap;
}
@media screen and (min-width:480px){
	.breadcrumbs{
    padding-top: 10px;
    padding-bottom: 10px;
		padding-left: 25px;
		margin-top: 20px;
    margin-bottom: 35px;
	}
}

.breadcrumbs li {
	display: inline-block;
	font-size: calc((100vw / 375) * 12);
	color: #383838;
	position: relative;
	padding: 0 calc((100vw / 375) * 5);
	line-height: calc((100vw / 375) * 16);
	height: calc((100vw / 375) * 16);
	vertical-align: top;
	margin-bottom: calc((100vw / 375) * 4);
}
.breadcrumbs li.sp2Col {
	display: block;
	padding: 0 calc((100vw / 375) * 8) 0 0;
}
.breadcrumbs li:first-of-type {
	padding-left: 0;
}
.breadcrumbs li:last-of-type {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	max-width: calc((100vw / 375) * 195);
}
@media screen and (min-width:480px){
	.breadcrumbs li,
	.breadcrumbs li.sp2Col {
		font-size: 1.2rem;
		position: relative;
		padding: 0 6px;
		line-height: 20px;
		height: 20px;
		margin-bottom: 0;
		max-width: auto;
	}
	.breadcrumbs li.sp2Col {
		display: inline;
	}
}

.breadcrumbs li a {
	display: inline-block;
	font-size: calc((100vw / 375) * 12);
	color: #383838;
}
.breadcrumbs li a.en {
	font-family: "Raleway", sans-serif;
	font-size: calc((100vw / 375) * 13);
}
.breadcrumbs li:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: calc((100vw / 375) * -5);
	width: calc((100vw / 375) * 4);
	height: 1px;
	background-color: #909090;
	transform: translateY(-50%);
}
.breadcrumbs li:last-child::after{
	display: none;
}
@media screen and (min-width:480px){
	.breadcrumbs li a {
		font-size: 1.2rem;
	}
	.breadcrumbs li a.en {
		font-size: 1.3rem;
		position: relative;
	}
	.breadcrumbs li:after {
		right: -5px;
    width: 6px;
		height: 1px;
	}
}


/* ========== ヘッダー ========== */
#header {
	position: fixed;
	top: calc((100vw / 375) * -1);
	width: 100%;
	background-color: #fff;
	z-index: 9999;
}
@media screen and (min-width:480px){
	#header {
		top: 0;
	}
}

#header .headerCnt {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	box-shadow: 0px 1px 5px rgb(3 45 117 / 20%);
}

#header .headerCnt .headerLogo h1,
#header .headerCnt .headerLogo p {
	display: none;
}

#header .headerCnt .headerLogo a {
	display: inline-block;
	margin-top: calc((100vw / 375)* 16);
	margin-left: calc((100vw / 375)* 15);
}
@media screen and (min-width:480px){
	#header .headerCnt .headerLogo a {
    margin-top: 18px;
    margin-left: 20px;	
	}
}
@media screen and (min-width:1000px){
	#header .headerCnt .headerLogo a {
    margin-top: 30px;
    margin-left: 20px;	
	}
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerLogo a {
		margin-top: 25px;
		margin-left: 43px;		
	}
}

#header .headerCnt .headerLogo a img {
	width: calc((100vw / 375)* 140);
	object-fit: cover;
}
@media screen and (min-width:480px){
	#header .headerCnt .headerLogo a img {
		width: 100px;
		
	}
}
@media screen and (min-width:780px){
	#header .headerCnt .headerLogo a img {
		width: 140px;
	}
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerLogo a img {
		width: 172px;
	}
}

#header .headerCnt .headerMenu {
	display: none;
}
@media screen and (min-width:1000px){
	#header .headerCnt .headerMenu {
		display: block;
	}
}

#header .headerCnt .headerMenu .menuMain {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	margin-right: 20px;
	height: 85px;
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerMenu .menuMain {
		margin-right: 35px;
	}
}

#header .headerCnt .headerMenu .menuMain > li {
	position: relative;
	padding-right: 20px;
}
#header .headerCnt .headerMenu .menuMain > li:last-of-type { padding-right: 0; }

@media screen and (min-width:1220px){
	#header .headerCnt .headerMenu .menuMain > li {
		padding-right: 25px;
	}
}

#header .headerCnt .headerMenu .menuMain > li > a {
	position: relative;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.2;
	color: #222222;
	white-space: nowrap;
	transition: color .3s ease;
}
#header .headerCnt .headerMenu .menuMain > li > a:hover {
	color: #024EA2;
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerMenu .menuMain > li > a {
		font-size: 1.5rem;
	}
}

#header .headerCnt .headerMenu .menuMain > li > a.btnOffice {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 36px;
	color: #004EA2;
	border-radius: 18px;
	border: 1px solid #004EA2;
	padding: 7px 19px;
	transition: background-color .4s ease, color .4s ease;
}
@media screen and (min-width:780px){
	#header .headerCnt .headerMenu .menuMain > li > a.btnOffice:hover {
		color: #fff;
		background-color:#004EA2;
	}
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerMenu .menuMain > li > a.btnOffice {
		font-size: 1.5rem;
	}
}

#header .headerCnt .headerSub {
	position: relative;
	display: inline-block;
	padding-top: 10px;
  padding-bottom: 10px;
	padding-left: 95px;
	margin-right: 20px;
	border-left: 1px solid #DEDEDE;
}

#header .headerCnt .headerSub .btnTell {
	display: inline-block;
	background-image: url('./img/icon_tell.svg');
	background-size: cover;
	width: 40px;
	height: 40px;
	transition: background-image .5s ease;
	position: absolute;
	top: 50%;
	left: 35px;
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#header .headerCnt .headerSub .btnTell:hover {
		background-image: url('./img/icon_tell_hover.svg');
	}
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerSub {
		margin-right: 43px;
	}
}

#header .headerCnt .headerSub .btnContact {
	position: relative;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 45px;
	color: #fff;
	border-radius: 23px;
	border: 1px solid #004EA2;
	background-color:#004EA2;
	padding: 11px 50px 11px 30px;
	transition: background-color .4s ease, color .4s ease;
}
#header .headerCnt .headerSub .btnContact::before {
	content: '';
	display: inline-block;
	background-image: url('./img/icon_send.svg');
	background-size: cover;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	transition: background .5s ease;
}
@media screen and (min-width:780px){
	#header .headerCnt .headerSub .btnContact:hover {
		color: #004EA2;
		background-color:#fff;
	}
	#header .headerCnt .headerSub .btnContact:hover::before {
		background-image: url('./img/icon_send_b.svg');
	}
}
@media screen and (min-width:1220px){
	#header .headerCnt .headerSub .btnContact {
		font-size: 1.6rem;
	}
}


/* ハンバーガーボタン */
#header .headerCnt .headerToggle {
  position: relative;
	display: block;
	top: 0;
  right: 0;
	padding: calc((100vw / 375) * 25) calc((100vw / 375) * 15);
  z-index: 2001;
	overflow: hidden;
}
#header.isOpen .headerCnt .headerToggle {
	padding: calc((100vw / 375) * 25) calc((100vw / 375) * 20);
}
@media screen and (min-width:480px) {
	#header .headerCnt .headerToggle {
		padding: 22px 18px;
	}
}
@media screen and (min-width:1000px) {
	#header .headerCnt .headerToggle {
		display: none;
	}
}

#header .headerCnt .headerToggle .headerToggleIcon {
  position: relative;
  display: block;
  height: 1px;
  width: calc((100vw / 375) * 25);
  background-color: #222222;
	border-radius: 20px;
	z-index: 1000;
	transition: all .4s ease;
}
@media screen and (min-width:480px) {
	#header .headerCnt .headerToggle .headerToggleIcon {
		width: 34px;
	}
}
#header.isOpen .headerCnt .headerToggle .headerToggleIcon {
	width: calc((100vw / 375) * 26);
}
#header .headerCnt .headerToggle .headerToggleIcon:nth-child(1) {
  top: 0;
	transform-origin:left top;
}
#header .headerCnt .headerToggle .headerToggleIcon:nth-child(2) {
  margin-top: calc((100vw / 375) * 4);
	transform-origin:left bottom;
}
#header.isOpen .headerCnt .headerToggle .headerToggleIcon:nth-child(1) {
	top: calc((100vw / 375) * -0.5);
	right: calc((100vw / 375) * -5);
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
}
#header.isOpen .headerCnt .headerToggle .headerToggleIcon:nth-child(2) {
	top: calc((100vw / 375) * 1);
	right: calc((100vw / 375) * -5);
	-webkit-transform: rotate(-15deg);
	transform: rotate(-15deg);
}

@media screen and (min-width:480px) {
	#header .headerCnt .headerToggle .headerToggleIcon:nth-child(2) {
		margin-top: 10px;
	}
	#header.isOpen .headerCnt .headerToggle {
    padding: 22px 15px;
}
	#header.isOpen .headerCnt .headerToggle .headerToggleIcon {
		width: 32px;
	}
	#header.isOpen .headerCnt .headerToggle .headerToggleIcon:nth-child(1) {
    top: 0px;
    right: 5px;
	}
	#header.isOpen .headerCnt .headerToggle .headerToggleIcon:nth-child(2) {
    top: -2px;
    right: 5px;
	}
}

/* ========== ナビゲーション ========== */
#header .headerNav {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	z-index: -1;
	opacity: 0;
	animation: HiddenAnime 0.4s ease 0s 1 forwards;
	visibility: hidden;
	overflow-y: auto;
}
#header .headerNav.isLoad {
	visibility: hidden;
	animation: none;
}
#header.isOpen .headerNav {
	display: block;
	animation: ShowAnime 0.4s ease 0s 1 forwards;
	z-index: 2000;
	opacity: 1;
	visibility: visible;
}
@media screen and (min-width:480px){
	#header .headerNav {
		overflow-y: hidden;
	}
}
@media screen and (min-width:780px){
	#header .headerNav {
		display: none;
	}
}

#header .headerNav > img {
	display: block;
	width: calc((100vw / 375) * 100);
	padding-top: calc((100vw / 375) * 28);
	margin: 0 auto;
}
@media screen and (min-width:480px){
	#header .headerNav > img {
		width: 150px;
    padding-top: 50px;
	}
}

#header .headerNav > p {
	text-align: center;
	font-size: calc((100vw / 375) * 16);
	font-weight: 500;
	padding-top: calc((100vw / 375) * 10);
}
@media screen and (min-width:480px){
	#header .headerNav > p {
		font-size: 2.4rem;
		padding-top: 12px;
	}
}

#header .headerNav .headerNavWrap {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}

#header .headerNav .headerNavMain {
	width: 100%;
	padding-right: calc((100vw / 375) * 20);
	padding-left: calc((100vw / 375) * 20);
	margin-top: calc((100vw / 375) * 68);
	margin-bottom: calc((100vw / 375) * 300);
	overflow-y: scroll;
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavMain {
		padding-right: 20px;
    padding-left: 20px;
    margin-top: 30px;
		overflow-y: hidden;
	}
}

#header .headerNav .headerNavMain > ul {
	display: flex;
	flex-direction: column;
  flex-wrap: nowrap;
	align-items: flex-start;
	width: 100%;
}

#header .headerNav .headerNavMain > ul > li {
	position: relative;
	width: 100%;
	/*padding-top: calc((100vw / 375)* 20);
	padding-bottom: calc((100vw / 375)* 20);*/
	border-bottom: 1px solid #EAEAEB;
}
/*@media screen and (min-width:480px){
	#header .headerNav .headerNavMain > ul > li {
		padding-top: 20px;
    padding-bottom: 20px;
	}
}*/


#header .headerNav .headerNavMain > ul > li > a {
	display: inline-block;
	font-size: calc((100vw / 375)* 15);
	font-weight: bold;
	color: #222;
	letter-spacing: 0.1rem;
	display: block;
	padding-top: calc((100vw / 375) * 20);
    padding-bottom: calc((100vw / 375) * 20);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavMain > ul > li > a 	{
		font-size: 2.1rem;
    padding-top: 20px;
    padding-bottom: 20px;
	}
}

#header .headerNav .headerNavMain > ul > li > a .en {
	display: block;
	font-size: calc((100vw / 375) * 18);
	font-weight: 400;
	padding-bottom: calc((100vw / 375) * 5);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavMain > ul > li > a .en {
		font-size: 2.4rem;
    padding-bottom: 10px;
	}
}

#header .headerNav .headerNavSub {
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavSub {
		margin-top: 60px;
	}	
}


#header .headerNav .headerNavSub .btnContactSp {
	position: relative;
	background-color: #004EA2;
	display: block;
	border-radius: 200px;
	font-size: calc((100vw / 375)* 16);
	color: #fff;
	font-weight: bold;
	padding: calc((100vw / 375) * 18) calc((100vw / 375) * 36);
	text-align: center;
}
#header .headerNav .headerNavSub .btnContactSp span {
	display: block;
	font-size: calc((100vw / 375)* 10);
	font-weight: 500;
	color: #fff;
	padding-top: calc((100vw / 375)* 5);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavSub .btnContactSp {
    font-size: 3.1rem;
    padding: 25px 25px;
		text-align: center;
	}
	#header .headerNav .headerNavSub .btnContactSp span {
    font-size: 1.6rem;
    padding-top: 10px;
	}
}

#header .headerNav .headerNavSub .btnContactSp::before {
	content: '';
	display: inline-block;
	background-image: url('./img/icon_contact.svg');
	background-size: cover;
	width: calc((100vw / 375)* 35);
	height: calc((100vw / 375)* 35);
	position: absolute;
	top: 50%;
	right: calc((100vw / 375)* 25);
	transform: translateY(-50%);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavSub .btnContactSp::before {
    width: 60px;
    height: 60px;
    right: 40px;
	}
}

#header .headerNav .headerNavSub .btnTellSp {
	position: relative;
	background-color: #88A1B9;
	display: block;
	border-radius: 200px;
	font-size: calc((100vw / 375)* 10);
	text-align: center;
	color: #fff;
	font-weight: 500;
	padding: calc((100vw / 375) * 18) calc((100vw / 375) * 32);
	margin-top: calc((100vw / 375)* 20);
}
#header .headerNav .headerNavSub .btnTellSp span {
	position: relative;
	display: block;
	font-size: calc((100vw / 375)* 20);
	font-weight: bold;
	color: #fff;
	width: calc((100vw / 375)* 125);
	margin: 0 auto calc((100vw / 375)* 7);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavSub .btnTellSp {
		font-size: 1.6rem;
    padding: 24px 25px;
    margin-top: 30px;
	}
	#header .headerNav .headerNavSub .btnTellSp span {
    font-size: 3.4rem;
    width: 272px;
    margin: 0 auto 10px;
	}
}

#header .headerNav .headerNavSub .btnTellSp span::before {
	content: '';
	display: inline-block;
	background-image: url('./img/icon_tell_w.svg');
	background-size: cover;
	width: calc((100vw / 375)* 13);
	height: calc((100vw / 375)* 18);
	position: absolute;
	top: 50%;
	left: calc((100vw / 375)* -13);
	transform: translateY(-50%);
}
@media screen and (min-width:480px){
	#header .headerNav .headerNavSub .btnTellSp span::before {
		background-size: cover;
		width: 21px;
		height: 27px;
		left: 10px;
	}
}


/* ========== メインビジュアル ========== */
#mainVisual {
	position: relative;
	margin-top: calc((100vw / 375) * 56);
	width: 100%;
	height: calc((100vw / 375) * 608);
}
@media screen and (min-width:480px){
	#mainVisual {
		margin-top: 56px;	
	}
}
@media screen and (min-width:780px){
	#mainVisual {
		height: auto;
	}
}
@media screen and (min-width:1000px){
	#mainVisual {
		margin-top: 85px;
	}
}

#mainVisual .mainVisualImg {
	position: relative;
	height: calc((100vw / 375) * 608);
	overflow: hidden;
}
@media screen and (min-width:780px){
	#mainVisual .mainVisualImg {
    height: 56vw;
    max-height: 678px;
	}
}
@media screen and (min-width:1400px){
	#mainVisual .mainVisualImg {
		height: calc(100vh - 85px);
	}
}

#mainVisual .mainVisualImg .coverImg {
	display: inline-block;
	background-image: url(./img/top/mv_bg_sp.png);
	background-size: cover;
	background-position-y: bottom;
	width: 100%;
	height: calc((100vw / 375) * 425);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
}


@media screen and (min-width:780px) {
	#mainVisual .mainVisualImg .coverImg {
		background-image: url(./img/top/mv_bg.png);
		height: 56vw;
		max-height: 678px;
	}
}
@media screen and (min-width:1400px){
	#mainVisual .mainVisualImg .coverImg {
		height: calc(100vh - 85px);
	}
}

#mainVisual .mainVisualImg .centerText {
	position: absolute;
	left: 0;
	top: calc((100vw / 375) * 128);
	text-align: center;
	color: #fff;
	width: 100%;
	z-index: 20;
}

@media screen and (min-width:780px){
	#mainVisual .mainVisualImg .centerText {
		top: 50%;
		transform:translateY(-50%);
		width: auto;
		margin-left: 122px;
	}
}

#mainVisual .mainVisualImg .centerText img {
	width: calc((100vw / 375) * 340);
}

@media screen and (min-width:780px){
	#mainVisual .mainVisualImg .centerText img {
		width: 440px;
	}
}
@media screen and (min-width:1100px){
	#mainVisual .mainVisualImg .centerText img {
		width: 564px;
	}
}

#mainVisual .mvSwiper {
	width: 100%;
	height: calc((100vw / 375)* 277);
	position: absolute;
	bottom: 0;
}
@media screen and (min-width:780px){
	#mainVisual .mvSwiper {
		width: 39.3%;
		height: auto;
		position: absolute;
    bottom: auto;
    right: 23.8%;
	}
}

#mainVisual .mvSwiper .swiper-wrapper {
	width: 100%;
}
@media screen and (min-width:780px){
	#mainVisual .mvSwiper .swiper-wrapper {
		width: 39.3%;
		margin: 0 0 0 auto;
	}
}

#mainVisual .mvSwiper .swiper-slide picture,
#mainVisual .mvSwiper .swiper-slide img {
	display: block;
	object-fit: cover;
	height: calc((100vw / 375)* 277);
}
@media screen and (min-width:780px){
	#mainVisual .mvSwiper .swiper-slide picture,
	#mainVisual .mvSwiper .swiper-slide img {
		object-fit: cover;
		height: calc(100vh - 85px);
		max-height: 678px;
	}	
}

#mainVisual .mvScroll {
	position: absolute;
	left: calc((100vw / 375)* 10);
	bottom: calc((100vw / 375)* 10);
	z-index: 20;
}
@media screen and (min-width:780px){
	#mainVisual .mvScroll {
		left : 43px;
		bottom: 13px;
	}
}

#mainVisual .mvScroll p {
	position: relative;
	font-size: calc((100vw / 375) * 10);
	font-weight: 500;
	color: #fff;
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
#mainVisual .mvScroll p::after {
	content: '';
	display: inline-block;
	width: 1px;
	height: 83px;
	background-color: #B7C2DB;
	margin-top: 13px;
}
@media screen and (min-width: 900px) {
	#mainVisual .mvScroll p {
		font-size: 1.1rem;
		padding-bottom: 13px;
	}
	#mainVisual .mvScroll p::after {
		width: 1px;
		height: 83px;
		margin-top: 13px;
	}
}

#mainVisual .mvScroll .line {
	display: inline-block;
	width:  calc((100vw / 375)* 6);
	height: calc((100vw / 375)* 6);
	background-color: #fff;
	position: absolute;
	bottom: 90px;
	left: 50%;
	border-radius: 50%;
	transform: translateX(-50%);
	animation: pathMoveSp 2s ease-in-out infinite;
	opacity: 0;
}
@media screen and (min-width: 900px) {
	#mainVisual .mvScroll .line {
		width: 6px;
		height: 6px;
		animation: pathMove 2s ease-in-out infinite;
	}
}

.mvDot {
	-webkit-transition: all 1.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
	transition: all 1.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
	display: flex;
	justify-content: flex-start;
	margin-top: calc((100vw / 375)* 23);
	margin-left: calc((100vw / 375)* 27);
}
@media screen and (min-width: 900px) {
	.mvDot {
		margin-top: 40px;
		margin-left: 0;
	}
}

.mvDot .mvDotList {
	position: relative;
	width: calc((100vw / 375)* 30);
	height: calc((100vw / 375)* 30);
	margin: 0 calc((100vw / 375)* 6) 0 0;
}
.mvDot .mvDotList:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: calc((100vw / 375)* 5);
	height: calc((100vw / 375)* 5);
	background: white;
	border-radius: 9999px;
}
@media screen and (min-width: 900px) {
	.mvDot .mvDotList {
		width: 42px;
		height: 42px;
		margin: 0 8px 0 0;
	}
	.mvDot .mvDotList:after {
		width: 8px;
		height: 8px;
	}
}

.mvDot .mvDotList svg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.mvDot .mvDotList svg .lineProgress {
	fill: none;
	stroke: white;
	stroke-width: 3px;
	stroke-dashoffset: 300;
	stroke-dasharray: 300;
}


.mvDot .mvDotList.isActive svg .lineProgress {
	-webkit-animation: home-dot-current 6.8s linear both;
	animation: home-dot-current 6.8s linear both;
}

.mvDot .mvDotList.isBack svg .lineProgress {
	-webkit-animation: home-dot-old 1.4s linear both !important;
	animation: home-dot-old 1.4s linear both !important;
}

.mvDot .mvDotList.isBack.isFirst svg .lineProgress {
	-webkit-animation: none !important;
	animation: none !important;
}

/* 下層ページ用：アイキャッチあり */
.contentVisual {
	position: relative;
	background-size: cover;
	background-position: center center;
	margin-top: calc((100vw / 375) * 50);
	background-image: url('./img/mv_bg_sp.jpg');
}
@media screen and (min-width:480px) {
	.contentVisual {
		margin-top: 56px;
		background-image: url('./img/mv_bg.jpg');
	}
}
@media screen and (min-width:1000px) {
	.contentVisual {
		margin-top: 85px;
	}
}

.contentVisual .contentVisualWrap {
	position: relative;
	width: 100%;
	height: calc((100vw / 375) * 205);
}
@media screen and (min-width:480px) {
	.contentVisual .contentVisualWrap {
		height: 230px;
	}
}

.contentVisual .contentVisualWrap .contentVisualText {
	position: relative;
	padding-top: calc((100vw / 375) * 80);
	color: #fff;
}
@media screen and (min-width:480px) {
	.contentVisual .contentVisualWrap .contentVisualText {
		padding-top: 88px;
	}
}

@media screen and (min-width:480px) {
	.contentVisual .contentVisualWrap .contentVisualText::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 107px;
		left: 0;
		/* width: calc((100vw - 1046px) / 2); */
		width: 160px;
		height: 1px;
		background-color: #fff;
	}
}

.contentVisual .contentVisualWrap .contentVisualText .pageTitle {
	color: #fff;
	font-size: calc((100vw / 375) * 27);
	padding-left: calc((100vw / 375) * 15);
}
.contentVisual .contentVisualWrap .contentVisualText .pageTitle span {
  display: block;
	color: #fff;
	font-size: calc((100vw / 375) * 18);
  margin-top: calc((100vw / 375) * 5);
}
@media screen and (min-width:480px) {
	.contentVisual .contentVisualWrap .contentVisualText .pageTitle {
		font-size: 3.8rem;
		padding-left: 188px;
	}
	.contentVisual .contentVisualWrap .contentVisualText .pageTitle span {
		display: inline-block;
		font-size: 2.1rem;
		padding-left: 25px;
		margin-top: 0;
	}
}


.contentVisual .contentVisualWrap .contentVisualText p {
	font-size: calc((100vw / 375) * 13);
	line-height:1.8;
	padding-top: calc((100vw / 375) * 20);
}
@media screen and (min-width:480px) {
	.contentVisual .contentVisualWrap .contentVisualText p {
		font-size: 1.4rem;
		padding-top: 20px;
	}
}

/* ========== フッター ========== */
#footer {
	position: relative;
	background-color: #f8f8f8;
}

#footer .footerCnt {
	position: relative;
}

#footer .footerCnt .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-top: calc((100vw / 375) * 15);
	padding-bottom: calc((100vw / 375) * 34);
}
@media screen and (min-width:480px) {
	#footer .footerCnt .container {
		padding: 20px 25px 45px 25px;
		justify-content: space-between;
		align-items: center;
	}
}
@media screen and (min-width:780px) {
	#footer .footerCnt .container {
		padding: 120px 0 45px 0;
		flex-direction: row;
		align-items: flex-start;
	}
}

#footer .footerLogo {
	margin: calc((100vw / 375) * 25) calc((100vw / 375) * 15) 0;
	text-align: left;
}
@media screen and (min-width:480px) {
	#footer .footerLogo {
		margin: 0;
		text-align: left;
		padding-left: 35px;
	}
}
@media screen and (min-width:780px) {
	#footer .footerLogo {
		
		padding-left: 35px;
	}
}
@media screen and (min-width:1330px) {
	#footer .footerLogo {
		padding-left: 117px;
	}
}

#footer .footerLogo picture {
	display: inline-block;
	width: calc((100vw / 375) * 260);
}
@media screen and (min-width:480px) {
	#footer .footerLogo picture {
		width: 248px;
	}
}

#footer .footerLogo .fName {
	font-size: calc((100vw / 375) * 14);
	line-height: 1.6;
	margin-top: calc((100vw / 375) * 40);
}
@media screen and (min-width:480px) {
	#footer .footerLogo .fName {
		font-size: 1.5rem;
		margin-top: 43px;
	}
}

#footer .footerLogo .fMap {
	position: relative;
	display: block;
	font-size: calc((100vw / 375)* 17);
	margin-top: calc((100vw / 375)* 20);
}
#footer .footerLogo .fMap .icon {
	position: relative;
	display: inline-block;
	background-image: url('./img/icon_link.svg');
	background-size: cover;
	width: calc((100vw / 375)* 16);
	height: calc((100vw / 375)* 16);
	margin-left: calc((100vw / 375)* 8);
	top: calc((100vw / 375)* 1);
}
@media screen and (min-width:480px) {
	#footer .footerLogo .fMap {
		font-size: 1.8rem;
		margin-top: 36px;
		transition: color .3s ease;
	}
	#footer .footerLogo .fMap .icon {
		width: 14px;
		height: 14px;
		margin-left: 8px;
		top: auto;
		transition: background-image .3s ease;
	}
	#footer .footerLogo .fMap:hover {
		color: #024EA2;
	}
	#footer .footerLogo .fMap:hover .icon {
		background-image: url('./img/icon_link_b.svg');
	}
}

#footer .footerLogo .fTel {
	font-size: calc((100vw / 375)* 16);
	font-weight: 300;
	letter-spacing: 0.1rem;
	margin-top: calc((100vw / 375)* 35);
}
#footer .footerLogo .fTel a {
	font-weight: 300;
}
@media screen and (min-width:480px) {
	#footer .footerLogo .fTel {
		font-size: 1.5rem;
		margin-top: 34px;
	}
	#footer .footerLogo .fTel a {
		transition: color .3s ease;
	}
	#footer .footerLogo .fTel a:hover {
		color: #024EA2;
	}
}

#footer .footerNav {
	display: none;
}
@media screen and (min-width:780px) {
	#footer .footerNav {
		position: relative;
		display: flex;
		flex-direction: row;
		gap: 130px;
		padding-right: 35px;
		margin-top: 23px;
	}
}
@media screen and (min-width:1330px) {
	#footer .footerNav {
		padding-right: 117px;
	}
}

#footer .footerNav ul {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 40px;
}
@media screen and (min-width:780px) {
	#footer .footerNav ul {
    gap: 40px;
	}
}

#footer .footerNav ul li a {
	position: relative;
	display: inline-block;
	font-size: 1.7rem;
	font-weight: bold;
	transition: color .5s ease;
}

#footer .footerNav ul li a::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 1px;
	background-color: #222222;
	position: absolute;
	top: 50%;
	left: -28px;
	transition: color .5s ease;
	transform: translateY(-50%);
}

#footer .footerNav ul li a:hover {
	color: #A5A5A5;
}

#footer .footerNav ul li a:hover::before {
	background-color: #A5A5A5;
}

#footer .footerBottom {
	padding-bottom: calc((100vw / 375) * 40);
}
#footer .footerBottom small {
	display: block;
	font-size: calc((100vw / 375) * 12);
	text-align: center;
	color: #BEBEBE;
}
@media screen and (min-width:480px) {
	#footer .footerBottom {
	  padding-bottom: 80px;
	}
	#footer .footerBottom small {
		font-size: 1.2rem;
		font-weight: 500;
		color: #BEBEBE;
	}
}


/* ========== common parts ========== */
.pageTitle {
	position: relative;
	font-size: calc((100vw / 375) * 28);
	font-weight: bold;
	color: #222222;
}

.pageTitle span {
	display: block;
	font-family: "Raleway", sans-serif;
	font-size: calc((100vw / 375) * 18);
	font-weight: bold;
	line-height: 1.2;
	color: #024EA2;
	margin-bottom: calc((100vw / 375) * 9);
}
@media screen and (min-width:480px) {
	.pageTitle {
		font-size: 4.0rem;
	}
	.pageTitle span {
		font-size: 2.5rem;
    margin-bottom: 10px;
	}
}

.descText {
	font-size: calc((100vw / 375) * 15);
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0;
}
@media screen and (min-width:480px) {
	.descText {
		font-size: 1.8rem;
		line-height: 2.4;
	}
}

.descTextSm {
	font-size: calc((100vw / 375) * 14);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
}
@media screen and (min-width:480px) {
	.descTextSm {
		font-size: 1.5rem;
		line-height: 2.0;
	}
}

/* 下層ページ用タイトル */
.listTitle {
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	padding-left: 20px;
	letter-spacing: 3px;
}

.listTitle::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: #032D75;
}
@media screen and (min-width:480px){
	.listTitle  {
		font-size: 2.8rem;
		padding-left: 36px;
		letter-spacing: 3px;
	}
	.listTitle::before {
		width: 18px;
	}
}

/* 要素表示アニメーション用 */
.delayFade {
	opacity: 0;
	transition: all 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
	-webkit-transition: all 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.delayFade.isActive {
	opacity: 1.0;
}

.slideFade {
	opacity: 0;
	transform: translateY(6%);
	transition: all 900ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
	-webkit-transition: all 900ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.slideFade.isActive {
	opacity: 1.0;
	transform: translateY(0);
}

.slideFade.delay01 {
	transition-delay: 300ms;
}

.slideFade.delay02 {
	transition-delay: 600ms;
}

/* ボタン */
.btn01 {
	position: relative;
	display: inline-block;
	font-weight: bold;
	color: #222222;
	border-radius: 90px;
	background-color: #EDEFF2;
	text-align: left;
	line-height: 1;
	width: calc((100vw / 375) * 200);
	padding: calc((100vw / 375) * 24) calc((100vw / 375) * 30);
	transition: all .5s ease;
}
.btn01.blue {
	background-color: #024EA2;
	color: #EDEFF2;
}
.btn01.white {
	background-color: #fff;
}

@media screen and (min-width:480px){
	.btn01 {
		font-size: 1.8rem;
		border-radius: 90px;
		width: 277px;
		padding: 31px 40px 31px 45px;
	}
	.btn01:hover {
		color: #024EA2;
	}
	.btn01.blue:hover {
		background-color: #EDEFF2;
		color: #024EA2;
	}
	.btn01.white:hover {
		color: #024EA2;
	}
}

.btn01 .arrowWrap,
.btn01 .mailWrap {
	position: absolute;
	display: block;
	width: calc((100vw / 375)* 37);
	height: calc((100vw / 375)* 37);
	top: 49%;
	right: calc((100vw / 375) * 20);
	transform: translateY(-50%);
	overflow: hidden;
	pointer-events: none;
}
@media screen and (min-width:480px){
	.btn01 .arrowWrap,
	.btn01 .mailWrap {
    width: 64px;
    height: 44px;
		right: 15px;
	}
}

.btn01 .arrowWrap .arrow,
.btn01 .mailWrap .mail  {
	position: relative;
	display: block;
	background-size: calc((100vw / 375)* 35);
	width: calc((100vw / 375)* 35);
	height: calc((100vw / 375)* 35);
	top: 50%;
	transform: translate(0, -50%);
}
.btn01 .arrowWrap .arrowClone,
.btn01 .mailWrap .mailClone {
	position: absolute;
	display: block;
	background-size: calc((100vw / 375)* 35);
	width: calc((100vw / 375)* 35);
	height: calc((100vw / 375)* 35);
	top: 50%;
	transform: translate(-150%, -50%);
	user-select: none;
}

.btn01 .arrowWrap .arrow,.btn01 .arrowWrap .arrowClone { background-image: url(./img/icon_arrow_c.svg); }
.btn01 .mailWrap .mail,.btn01 .mailWrap .mailClone { background-image: url(./img/icon_contact.svg); }

@media screen and (min-width:480px){
	.btn01 .arrowWrap .arrow,
	.btn01 .arrowWrap .arrowClone,
	.btn01 .mailWrap .mail,
	.btn01 .mailWrap .mailClone {
		width: 44px;
		height: 44px;
		background-size: cover;
		left: 10px;
	}
	.btn01 .arrowWrap .arrowClone,
	.btn01 .mailWrap .mailClone {
		left: 10px;
	}
	.btn01 .mailWrap .mail {
		transition: all .6s ease;
	}
	.btn01:hover .arrowWrap .arrow {
		animation: btnAnime .4s linear forwards;
	}
	.btn01:hover .arrowWrap .arrowClone {
		animation: btnAnime2 .5s linear forwards;
	}
	.btn01:hover .mailWrap .mail {
		background-image: url(./img/icon_contact_b.svg);
	}
}

.btn02 {
	position: relative;
	display: inline-block;
	font-weight: bold;
	text-align: right;
	color: #fff;
	border-radius: 90px;
	background-color: #024EA2;
	line-height: 1;
	width: calc((100vw / 375) * 130);
	padding: calc((100vw / 375) * 24) calc((100vw / 375) * 30);
	transition: all .5s ease;
}
.btn02.gray {
	background-color: #676767;
}
@media screen and (min-width:480px){
	.btn02 {
		font-size: 1.8rem;
		border-radius: 90px;
		width: 155px;
		padding: 31px 40px 31px 45px;
	}
}

.btn02 .arrowWrap {
	position: absolute;
	display: block;
	width: calc((100vw / 375)* 37);
	height: calc((100vw / 375)* 37);
	top: 49%;
	left: calc((100vw / 375) * 20);
	transform: translateY(-50%);
	overflow: hidden;
	pointer-events: none;
}
@media screen and (min-width:480px){
	.btn02 .arrowWrap {
    width: 64px;
    height: 44px;
		left: 15px;
	}
}

.btn02 .arrowWrap .arrow {
	position: relative;
	display: block;
	background-size: calc((100vw / 375)* 35);
	width: calc((100vw / 375)* 35);
	height: calc((100vw / 375)* 35);
	top: 50%;
	transform: translate(0, -50%);
}
.btn02 .arrowWrap .arrowClone {
	position: absolute;
	display: block;
	background-size: calc((100vw / 375)* 35);
	width: calc((100vw / 375)* 35);
	height: calc((100vw / 375)* 35);
	top: 50%;
	transform: translate(-150%, -50%);
}

.btn02 .arrowWrap .arrow,.btn02 .arrowWrap .arrowClone { background-image: url(./img/icon_arrow_d.svg); }
.btn02.gray .arrowWrap .arrow,.btn02.gray .arrowWrap .arrowClone { background-image: url(./img/icon_arrow_f.svg); }

@media screen and (min-width:480px){
	.btn02 .arrowWrap .arrow,
	.btn02 .arrowWrap .arrowClone {
		width: 44px;
		height: 44px;
		background-size: cover;
		left: 10px;
	}
	.btn02 .arrowWrap .arrowClone {
		left: 10px;
	}
	.btn02:hover .arrowWrap .arrow {
		animation: btnAnime3 .4s linear forwards;
	}
	.btn02:hover .arrowWrap .arrowClone {
		animation: btnAnime4 .5s linear forwards;
	}
}


/* 調整用 */
.alignc { text-align:center 	!important; }
.alignr { text-align:right !important; }
.alignl { text-align:left !important; }

.vatop { vertical-align:top !important; }
.vamid { vertical-align:middle !important; }
.vabtm { vertical-align:bottom !important; }

.weight300 { font-weight:300 !important; }
.weight400 { font-weight:400 !important; }
.weight500 { font-weight:500 !important; }
.weight600 { font-weight:600 !important; }
.weight700 { font-weight:700 !important; }

.size10 { font-size:calc((100vw / 375) * 10) !important; }
.size11 { font-size:calc((100vw / 375) * 11) !important; }
.size12 { font-size:calc((100vw / 375) * 12) !important; }
.size13 { font-size:calc((100vw / 375) * 13) !important; }
.size14 { font-size:calc((100vw / 375) * 14) !important; }
.size16 { font-size:calc((100vw / 375) * 16) !important; }
.size17 { font-size:calc((100vw / 375) * 17) !important; }
.size18 { font-size:calc((100vw / 375) * 18) !important; }
.size19 { font-size:calc((100vw / 375) * 19) !important; }
.size20 { font-size:calc((100vw / 375) * 20) !important; }
.size22 { font-size:calc((100vw / 375) * 22) !important; }
.size24 { font-size:calc((100vw / 375) * 24) !important; }
.size26 { font-size:calc((100vw / 375) * 26) !important; }
.size28 { font-size:calc((100vw / 375) * 28) !important; }
.size30 { font-size:calc((100vw / 375) * 30) !important; }
@media screen and (min-width:480px){
	.size10 { font-size:1rem!important; }
	.size11 { font-size:1.1rem !important; }
	.size12 { font-size:1.2rem !important; }
	.size13 { font-size:1.3rem !important; }
	.size14 { font-size:1.4rem !important; }
	.size16 { font-size:1.6rem !important; }
	.size17 { font-size:1.7rem !important; }
	.size18 { font-size:1.8rem !important; }
	.size19 { font-size:1.9rem !important; }
	.size20 { font-size:2.0rem !important; }
	.size22 { font-size:2.2rem !important; }
	.size24 { font-size:2.4rem !important; }
	.size26 { font-size:2.6rem !important; }
	.size28 { font-size:2.8rem !important; }
	.size30 { font-size:3.0rem !important; }
}


/* ========== #index トップ(#topPage) ========== */
#topPage {
	position: relative;
}

/* topBusiness */
#topPage .topBusiness {
	margin-top: calc((100vw / 375) * 80);
	margin-bottom: calc((100vw / 375) * 80);
}
@media screen and (min-width:780px){
	#topPage .topBusiness {
		margin-top: 150px;
		margin-bottom: 150px;
	}
}

@media screen and (min-width:780px){
	#topPage .topBusiness .inner {
		margin-right: 120px;
		margin-left: 120px;
	}
}

#topPage .topBusiness .inner .textWrap {
	display: flex;
	flex-direction: column;
	gap: calc((100vw / 375) * 25);
}
@media screen and (min-width:780px){
	#topPage .topBusiness .inner .textWrap {
		justify-content: space-between;
    align-items: flex-start;
		gap: 50px;
	}
}
@media screen and (min-width:1260px){
	#topPage .topBusiness .inner .textWrap {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
		gap: 50px;
	}
}

#topPage .topBusiness .textWrap p {
	margin-top: calc((100vw / 375) * 28);
}
@media screen and (min-width:780px){
	#topPage .topBusiness .textWrap p {
		margin-top: 34px;
		max-width: 700px;
	}
}

@media screen and (min-width:780px){
	#topPage .topBusiness .textWrap .btn01 {
		margin-bottom: 10px;
	}
}

/* topBg */
#topPage .topBg01 {
	position: relative;
	left: 0;
	background-image: url('./img/top/top_bg01_sp.jpg');
	background-size: cover;
	width: calc(100vw - (calc((100vw / 375) * 15)));
	height: calc((100vw / 375) * 200);
}
@media screen and (min-width:780px){
	#topPage .topBg01 {
		left: 0;
		background-image: url('./img/top/top_bg01.jpg');
		width: calc(100vw - ((100vw - 860px) / 2));
		height: 30vw;
		min-height: 400px;
	}
}

/* material */
#topPage .TopMaterial {
	position: relative;
	margin-top: calc((100vw / 375) * 235);
}
@media screen and (min-width:780px){
	#topPage .TopMaterial {
		margin-top: 190px;
	}
}

#topPage .TopMaterial .inner {
	margin-bottom: calc((100vw / 375) * 62);
}
@media screen and (min-width:780px){
	#topPage .TopMaterial .inner {
		margin-right: 0;	
		margin-bottom: 145px;
	}
}
@media screen and (min-width:1100px){
	#topPage .TopMaterial .inner {
		margin-right: 200px;	
	}
}

#topPage .TopMaterial .inner img {
	display: block;
	width: calc((100vw / 375) * 270);
	margin: 0 0 0 auto;
}
@media screen and (min-width:780px){
	#topPage .TopMaterial .inner img {
		width: 420px;
		margin: 0 0 0 auto;
	}
}

#topPage .TopMaterial .inner .descText {
	display: block;
	margin-top: calc((100vw / 375)* 42);
}
@media screen and (min-width:780px){
	#topPage .TopMaterial .inner .descText {
		margin: 73px 0 0 auto;
		max-width: 772px;
	}
}

#topPage .TopMaterial .iconMark {
	position: absolute;
	top: calc((100vw / 375) * -277);
	left: 0;
	width: calc((100vw / 375) * 700);
	z-index: -1;
	/* 枠線対策 */
	filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
	outline: none;
	border: none;
}
@media screen and (min-width:780px){
	#topPage .TopMaterial .iconMark {
		top: -280px;
		left: -195px;
		width: 1400px;
	}
}
@media screen and (min-width:780px){
	#topPage .TopMaterial .iconMark {
		left: -95px;
	}
}
@media screen and (min-width:1260px){
	#topPage .TopMaterial .iconMark {
		left: 0;
	}
}

/* products */
#topPage .topProducts {
	position: relative;
}

#topPage .topProducts .inner {
	margin-bottom: calc((100vw / 375) * 75);
	display: flex;
	flex-direction: column-reverse;
}
@media screen and (min-width:780px){
	#topPage .topProducts .inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		margin-right: 0;
		margin-left: 0;
		gap: 99px;
		margin-bottom: 208px;
	}
}
@media screen and (min-width:1200px){
	#topPage .topProducts .inner {
		margin-right: 120px;
		margin-left: 120px;
	}
}

#topPage .topProducts .PText {
	padding-top: calc((100vw / 375) * 40);
}
#topPage .topProducts .PText.honban {
	padding-top: calc((100vw / 375) * 40);
}
@media screen and (min-width:780px){
	#topPage .topProducts .PText {
		padding-top: 65px;
	}
	#topPage .topProducts .PText.honban {
		padding-top: 150px;
	}
}

#topPage .topProducts .pageTitle {
	margin-bottom: calc((100vw / 375) * 35);
}
@media screen and (min-width:780px){
	#topPage .topProducts .pageTitle {
		margin-bottom: 35px;
	}
}

#topPage .topProducts .PText p + p {
	margin-top: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#topPage .topProducts .PText p + p {
		margin-top: 20px;
	}
}

#topPage .topProducts .PText .btn01 {
	margin-top: calc((100vw / 375) * 30);
	width: calc((100vw / 375)* 190);
}
#topPage .topProducts .PText.honban .btn01 {
	width: calc((100vw / 375)* 170);
}
@media screen and (min-width:780px){
	#topPage .topProducts .PText .btn01 {
		margin-top: 45px;
		width: 242px;
	}
	#topPage .topProducts .PText.honban .btn01 {
		width: 226px;
	}
}

#topPage .topProducts .pImg {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#topPage .topProducts .pImg {
		justify-content: normal;
		gap: 32px;
	}
}

#topPage .topProducts .pImg .imgBg {
	position: relative;
	background-image: url('./img/top/products_bg01_sp.png');
	background-size: cover;
	width: calc((100vw / 375)* 88);
	height: calc((100vw / 375)* 245);
}
@media screen and (min-width:780px){
	#topPage .topProducts .pImg .imgBg {
		background-image: url('./img/top/products_bg01.png');
		width: 143px;
		height: 400px;
	}
}

#topPage .topProducts .pImg .imgBg:nth-of-type(1)  { margin-top: calc((100vw / 375) * 32); }
#topPage .topProducts .pImg .imgBg:nth-of-type(2)  { margin-top: calc((100vw / 375) * 55); }
@media screen and (min-width:780px){
	#topPage .topProducts .pImg .imgBg:nth-of-type(1)  { margin-top: 45px; }
	#topPage .topProducts .pImg .imgBg:nth-of-type(2)  { margin-top: 85px; }
}

#topPage .topProducts .pImg .imgBg img {
	position: absolute;
	object-fit: cover;
}

#topPage .topProducts .pImg .imgBg:nth-of-type(1) img {
	width: calc((100vw / 375)* 134);
	height: calc((100vw / 375)* 145);
	top: calc((100vw / 375)* 52);
	left: calc((100vw / 375)* -32);
}
#topPage .topProducts .pImg .imgBg:nth-of-type(2) img {
	width: calc((100vw / 375)* 112);
	height: calc((100vw / 375)* 270);
	top: calc((100vw / 375)* -9);
	left: calc((100vw / 375)* -12);
}
#topPage .topProducts .pImg .imgBg:nth-of-type(3) img {
	width: calc((100vw / 375)* 96);
	height: calc((100vw / 375)* 240);
	top: calc((100vw / 375)* -20);
	left: calc((100vw / 375)* 15);
}
@media screen and (min-width:780px){
	#topPage .topProducts .pImg .imgBg:nth-of-type(1) img {
		width: 257px;
		height: 274px;
		top: 70px;
		left: -88px;
	}
	#topPage .topProducts .pImg .imgBg:nth-of-type(2) img {
		width: 196px;
		height: 481px;
		top: -18px;
		left: -13px;
	}
	#topPage .topProducts .pImg .imgBg:nth-of-type(3) img {
		width: 165px;
		height: 416px;
		top: -30px;
		left: 34px;
	}
}

#topPage .topOffice {
	position: relative;
}

#topPage .topOffice .container {
	position: relative;
	background-color: #19477B;
	border-radius: calc((100vw / 375) * 15);
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
}
@media screen and (min-width:780px){
	#topPage .topOffice .container {
		border-radius: 20px;
		padding-left: 0;
		padding-right: 0;
	}
}

#topPage .topOffice .container::before {
	content: '';
	display: block;
	background-image: url('./img/top/bg_dot_sp.png');
	background-repeat: repeat;
	background-position: center;
	width: 100%;
	height: 884px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width:780px){
	#topPage .topOffice .container::before {
		background-image: url('./img/top/bg_dot.png');
		width: 1280px;
		height: 884px;
	}
}

#topPage .topOffice .inner {
	color: #fff;
	text-align: center;
}

#topPage .topOffice .pageTitle {
	color: #fff;
	margin-top: calc((100vw / 375)* 40);
	margin-bottom: calc((100vw / 375)* 35);
}
@media screen and (min-width:780px){
	#topPage .topOffice .pageTitle {
		margin-top: 80px;
		margin-bottom: 34px;
	}
}

#topPage .topOffice .pageTitle span {
	color: #7CA9FF;
}

#topPage .topOffice .officeMap {
	position: absolute;
	top: calc((100vw / 375) * 265);
	left: 50%;
	transform: translateX(-50%);
	width: calc((100vw / 375)* 321);
	height: calc((100vw / 375)* 447);
	object-fit: cover;
}
@media screen and (min-width:780px){
	#topPage .topOffice .officeMap {
		top: 314px;
		left: 50%;
		transform: translateX(-50%);
		width: 742px;
		height: 521px;
	}
}

#topPage .topOffice .infiniteSlide1 {
	animation-duration: 50s !important;
	margin-top: calc((100vw / 375) * 68);
	margin-bottom: calc((100vw / 375) * 460);
}
@media screen and (min-width:780px){
	#topPage .topOffice .infiniteSlide1 {
		margin-top: 10px;
		margin-bottom: 435px;
	}
}

#topPage .topOffice .infiniteSlide1 img {
	width: calc((100vw / 375)* 1041.53);
	height: calc((100vw / 375)* 110);
}
@media screen and (min-width:780px){
	#topPage .topOffice .infiniteSlide1 img {
		width: 1694px;
		height: 179px;
	}
}

#topPage .topOffice .btn01 {
	position: absolute;
	width: calc((100vw / 375) * 220);
	right: 50%;
	bottom: calc((100vw / 375)* 60);
	transform: translateX(50%);
	z-index: 20;
}
@media screen and (min-width:780px){
	#topPage .topOffice .btn01 {
		width: 277px;
		right: 7%;
		bottom: 120px;
		transform: translateX(0);
	}
}

/* 企業情報・採用情報 */
#topPage .topLinkList {
	position: relative;
	margin-top: calc((100vw / 375) * 65);
}
@media screen and (min-width:780px){
	#topPage .topLinkList {
		margin-top: 150px;
	}
}

#topPage .topLinkList .list {
	display: flex;
	flex-direction: column;
	gap: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#topPage .topLinkList .list {
		flex-direction: row;
		gap: 40px;
	}
}

#topPage .topLinkList .list li {
	width: calc(100% - calc((100vw / 375) * 20));
	height: calc((100vw / 375) * 215);
	background-size: cover;
	border-radius: calc((100vw / 375) * 5);
}
#topPage .topLinkList .list li:nth-of-type(1) { background-image: url('./img/top/office_img02.png'); }
#topPage .topLinkList .list li:nth-of-type(2) { background-image: url('./img/top/office_img03.png'); margin: 0 0 0 auto;}
@media screen and (min-width:780px){
	#topPage .topLinkList .list li {
		width: calc((100% / 2) - 20px);
		height: 403px;
		border-radius: 5px;
		transition: transform .5s ease;
	}
	#topPage .topLinkList .list li:nth-of-type(1) { background-image: url('./img/top/office_img02.png'); }
	#topPage .topLinkList .list li:nth-of-type(2) { background-image: url('./img/top/office_img03.png'); margin: 55px 0 0 0;}
	#topPage .topLinkList .list li:hover {
		transform: scale(0.97);
	}
}

#topPage .topLinkList .list li a {
	display: flex;
	color: #fff;
	padding: calc((100vw / 375) * 15);
	align-items: flex-end;
	height: calc((100vw / 375) * 185)
}
@media screen and (min-width:780px){
	#topPage .topLinkList .list li a {
		padding: 33px;
		height: 338px;
	}
}

#topPage .topLinkList .list li a .pageTitle {
	font-size: calc((100vw / 375) * 23);
	color: #fff;
}
#topPage .topLinkList .list li a .pageTitle span {
	font-size: calc((100vw / 375) * 13);
	color: #fff;
	margin-bottom: calc((100vw / 375) * 7);
}
@media screen and (min-width:780px){
	#topPage .topLinkList .list li a .pageTitle {
		font-size: 3.5rem;
	}
	#topPage .topLinkList .list li a .pageTitle span {
		font-size: 2.0rem;
		color: #fff;
		margin-bottom: 13px;
	}
}

#topPage .topLinkList .list li a .pageTitle::before {
	content: '';
	display: inline-block;
	position: absolute;
	width: calc((100vw / 375)* 13);
	height: calc((100vw / 375)* 13);
	bottom: calc((100vw / 375)* 6);
	right: calc((100vw / 375)* -41);
	background-image: url('./img/icon_arrow.svg');
	background-size: cover;
	transition: all .4s ease;
	z-index: 10;
}
#topPage .topLinkList .list li a .pageTitle::after {
	content: '';
	display: inline-block;
	position: absolute;
	width: calc((100vw / 375)* 30);
	height: calc((100vw / 375)* 30);
	bottom: calc((100vw / 375)* -4);
	right: calc((100vw / 375)* -50);
	background-color: rgb(255 255 255 / 15%);
	border-radius: 50%;
	border: 1px solid #fff;
	transition: all .4s ease;
	z-index: 5;
}
@media screen and (min-width:780px){
	#topPage .topLinkList .list li a .pageTitle::before {
		width: 16px;
		height: 16px;
		bottom: 10px;
		right: -60px;
	}
	
	#topPage .topLinkList .list li a .pageTitle::after {
		width: 44px;
		height: 44px;
		bottom: -5px;
		right: -75px;
	}
	#topPage .topLinkList .list li a:hover .pageTitle::after {
		background-color: #024EA2;
		border: 1px solid #024EA2;
	}
}

/* news */
#topPage .TopNews {
	position: relative;
	margin-top: calc((100vw / 375) * 73);
	margin-bottom: calc((100vw / 375) * 73);
}
@media screen and (min-width:780px){
	#topPage .TopNews {
		margin-top: 150px;
		margin-bottom: 143px;
		min-height: 541px;
	}
}

#topPage .TopNews .titleBox {
	position: relative;
}
@media screen and (min-width:780px){
	#topPage .TopNews .titleBox {
		margin-left: 80px;	
	}
}

#topPage .TopNews .titleBox .pageTitle {
	padding-bottom: calc((100vw / 375) * 10);
}
@media screen and (min-width:780px){
	#topPage .TopNews .titleBox .pageTitle {
		padding-bottom: 20px;
	}
}

#topPage .TopNews .newsSwiper {
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper {
		margin-left: 80px;
		margin-top: 40px;
		overflow: hidden;
	}
}

#topPage .TopNews .newsSwiper .swiper-slide img {
	width: calc((100vw / 375)* 275);
	height: calc((100vw / 375)* 176);
	aspect-ratio: 410 / 270;
	object-fit: cover;
}
@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .item img {
		width: 100%;
		height: 201px;
	}
}
@media screen and (min-width:1200px){
	#topPage .TopNews .newsSwiper .item img {
		height: 201px;
	}
}

@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .swiper-slide.swiper-slide-active {
		width: 410px !important;
	}
}
@media screen and (min-width:1200px){
	#topPage .TopNews .newsSwiper .swiper-slide.swiper-slide-active {
		width: 410px !important;
	}
}

@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .swiper-slide.swiper-slide-active img {
		transition: all .7s ease;
		width: 100%;
		height: 270px;
	}
}
@media screen and (min-width:1200px){
	#topPage .TopNews .newsSwiper .swiper-slide.swiper-slide-active img {
		transition: all .7s ease;
		width: 410px;
		height: 270px;
	}
}

#topPage .TopNews .newsSwiper .item .box {
	display: flex;
  align-items: center;
  gap: calc((100vw / 375) * 15);
	margin-top: calc((100vw / 375) * 15);
}
@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .item .box {
		gap: 20px;
		margin-top: 22px;
	}
}

#topPage .TopNews .newsSwiper .item .time {
	font-size: calc((100vw / 375) * 13);
	font-weight: 500;
	color: #A2A0A0;
}
@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .item .time {
		font-size: 1.6rem;
	}
}

#topPage .TopNews .newsSwiper .item .category {
	display: inline-block;
	font-size: calc((100vw / 375) * 12);
	font-weight: bold;
	text-align: center;
	color: #024EA2;
	line-height: 1;
	border: 1px solid #024EA2;
	border-radius: calc((100vw / 375) * 20);
	padding: calc((100vw / 375) * 4.4) calc((100vw / 375) * 10) calc((100vw / 375) * 4);
}
@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .item .category {
		font-size: 1.3rem;
		border-radius: 20px;
		padding: 4px 13px;
	}
}

#topPage .TopNews .newsSwiper .item .name {
	font-size: calc((100vw / 375) * 15);
	font-weight: bold;
	line-height: 1.7;
	margin-top: calc((100vw / 375) * 12);
}
@media screen and (min-width:780px){
	#topPage .TopNews .newsSwiper .item .name {
		font-size: 1.6rem;
		margin-top: 14px;
	}
}

#topPage .TopNews .btn01 {

	display: block;
	margin: calc((100vw / 375)* 20) auto 0;
	width: calc((100vw / 375) * 200);
}
@media screen and (min-width:480px){
	#topPage .TopNews .btn01 {
		width: 270px;
	}
}
@media screen and (min-width:780px){
	#topPage .TopNews .btn01 {
		position: absolute;
		top: 25px;
		right: 55px;
		margin: 0;
	}
}


/* ========== #index 会社情報(#company) ========== */
#company .policy {
	padding-top: calc((100vw / 375) * 15);
	padding-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#company .policy {
		padding-top: 35px;
		padding-bottom: 75px;
	}
}

#company .policy .bgTxt {
	position: relative;
	left: calc((100vw / 375) * -12);
	font-size: calc((100vw / 375) * 23);
	font-weight: bold;
	color: #024EA2;
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#company .policy .bgTxt {
		left: -14px;
		font-size: 2.8rem;
		margin-top: 35px;
	}
}

#company .policy .descText {
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#company .policy .descText {
		margin-top: 30px;
	}
}

#company .message {
	position: relative;
	background-color: #19477B;
	padding-top: calc((100vw / 375) * 40);
	padding-bottom: calc((100vw / 375) * 40);
  overflow: hidden;
}
@media screen and (min-width:780px){
	#company .message {
		padding-top: 60px;
		padding-bottom: 80px;
	}
}

#company .message::before {
	content: '';
	display: block;
	background-image: url('./img/top/bg_dot_sp.png');
	background-repeat: repeat;
	background-position: center;
	width: 100%;
	height: -webkit-fill-available;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width:780px){
	#company .message::before {
		background-image: url('./img/top/bg_dot.png');
	}
}

#company .message .pageTitle {
	text-align: center;
	color: #fff;
}

#company .message .pageTitle span {
	color: #7CA9FF;
}

#company .message .mWrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
  align-items: center;
	gap: calc((100vw / 375) * 25);
	margin-top: calc((100vw / 375) * 28);
}
@media screen and (min-width:780px){
	#company .message .mWrap {
		flex-direction: row;
		align-items: flex-start;
		gap: 30px;
		margin-top: 45px;
	}
}

#company .message .mImg {
	width: calc((100vw / 375) * 260);
	border-radius: 16px;
}
@media screen and (min-width:780px){
	#company .message .mImg {
		width: 400px;
		border-radius: 16px;
	}
}

#company .message .bgTxt {
	font-size: calc((100vw / 375) * 17);
	font-weight: bold;
	color: #fff;
  line-height: 1.8;
	margin-bottom: calc((100vw / 375) * 15);
}
@media screen and (min-width:780px){
	#company .message .bgTxt {
		font-size: 3.0rem;
		margin-bottom: 25px;
	}
}

#company .message .descText {
	font-weight: 500;
	color: #fff;
  line-height: 1.8;
	margin-bottom: calc((100vw / 375) * 20);	
}
@media screen and (min-width:780px){
	#company .message .descText {
		line-height: 2.0;
		margin-bottom: 30px;	
	}
}

#company .message .mTxt img {
	display: block;
	width: calc((100vw / 375) * 230);
	margin: 0 0 0 auto;
}
@media screen and (min-width:780px){
	#company .message .mTxt img {
		width: 330px;
	}
}

#company .comp {
	margin-top: calc((100vw / 375) * 60);
	margin-bottom: calc((100vw / 375) * 60);
}
@media screen and (min-width:780px){
	#company .comp {
		margin-top: 80px;
		margin-bottom: 80px;
	}
}

#company .comp table {
	width: 100%;
	margin: calc((100vw / 375) * 40) auto 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media screen and (min-width:780px){
	#company .comp table {
		width: 730px;
		margin: 50px auto 0;
		flex-direction: row;
	}
}

#company .comp table tr {
	font-size: calc((100vw / 375) * 15);
	font-weight: bold;
	text-align: left;
  line-height: 1.8;
	border-bottom: 1px solid #CCCCCC;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
@media screen and (min-width:780px){
	#company .comp table tr {
		display: block;
		font-size: 1.8rem;
	}
}

#company .comp table tr:first-of-type {
	border-top: 1px solid #CCCCCC;
}

#company .comp table tr th {
	vertical-align: middle;
	padding: calc((100vw / 375) * 12) calc((100vw / 375) * 10) calc((100vw / 375) * 10);
}
@media screen and (min-width:780px){
	#company .comp table tr th {
		width: 295px;
		padding: 38px 10px 38px 60px;
	}
}

#company .comp table tr td {
	font-weight: 500;
	vertical-align: middle;
	padding: 0 calc((100vw / 375) * 10) calc((100vw / 375) * 12);
}
@media screen and (min-width:780px){
	#company .comp table tr td {
		font-weight: bold;
		padding: 21px 20px 21px 0;
	}
}

#company .access {
	margin-bottom: calc((100vw / 375) * 35);
}
@media screen and (min-width:780px){
	#company .access {
		margin-bottom: 48px;
	}
}

#company .access .aWrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}
@media screen and (min-width:780px){
	#company .access .aWrap {
		flex-direction: row;
		gap: 30px;
	}
}

#company .access .aWrap + .aWrap {
	padding-top: calc((100vw / 375) * 30);
	margin-top: calc((100vw / 375) * 30);
	border-top: 1px solid #CCCCCC;
}
@media screen and (min-width:780px){
	#company .access .aWrap + .aWrap {
		padding-top: 50px;
		margin-top: 50px;
	}
}

#company .access .aWrap:nth-of-type(3) {
	margin-bottom: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#company .access .aWrap:nth-of-type(3) {
		margin-bottom: 100px;
	}
}

#company .access .aWrap .aTxt .pageTitle {
	margin-bottom: calc((100vw / 375) * 35);
}
@media screen and (min-width:780px){
	#company .access .aWrap .aTxt .pageTitle {
		margin-bottom: 45px;
	}
}

#company .access .aWrap .aTxt .bgTxt {
	font-size: calc((100vw / 375) * 20);
	font-weight: bold;
	color: #024EA2;
	margin-bottom: calc((100vw / 375) * 15);
}
@media screen and (min-width:780px){
	#company .access .aWrap .aTxt .bgTxt {
		font-size: 2.6rem;
		margin-bottom: 13px;
	}
}

#company .access .aWrap .aTxt .subTxt {
	font-size: calc((100vw / 375) * 16);
	line-height: 1.6;
}
@media screen and (min-width:780px){
	#company .access .aWrap .aTxt .subTxt {
		font-size: 1.5rem;
	}
}

#company .access .aWrap .aTxt a {
	display: inline-block;
	position: relative;
	font-size: calc((100vw / 375) * 15);
	font-weight: bold;
	margin-top: calc((100vw / 375) * 16);
	margin-bottom: calc((100vw / 375) * 25);
	transition: .6s ease;
}
@media screen and (min-width:780px){
	#company .access .aWrap .aTxt a {
		font-size: 1.5rem;
		margin-top: 16px;
		margin-bottom: 36px;
	}
}

#company .access .aWrap .aTxt a span {
	color: #014FA2;
	display: inline-block;
	padding-right: calc((100vw / 375) * 2);
}
@media screen and (min-width:780px){
	#company .access .aWrap .aTxt a span {
		padding-right: 5px;
	}
}

#company .access .aWrap .aTxt a::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	background-image: url(./img/icon_link2.svg);
	background-size: cover;
	position: absolute;
	top: 50%;
	right: calc((100vw / 375) * -20);
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#company .access .aWrap .aTxt a::before {
		width: 16px;
		height: 16px;
		right: -18px;
	}
	#company .access .aWrap .aTxt a:hover {
		color: #014FA2;
	}
}

@media screen and (min-width:780px){
	#company .access .mapArea {
		margin-top: 20px;
	}
}

#company .access .mapAreaWrap iframe {
	width: 100%;
	height: calc((100vw / 375) * 237);
}
@media screen and (min-width:780px){
	#company .access .mapAreaWrap iframe {
		width: 550px;
		height: 350px;
	}
}

#company .access .subTitle {
	margin-bottom: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#company .access .subTitle {
		margin-bottom: 42px;
	}
}

#company .access .subTitle h2 {
	position: relative;
	font-size: calc((100vw / 375) * 22);
	font-weight: bold;
	padding-left: calc((100vw / 375) * 14);
	white-space: nowrap;
}
#company .access .subTitle h2::before {
	content: '';
	display: block;
	position: absolute;
	background-color: #014FA2;
	width: calc((100vw / 375) * 5);
  height: calc((100vw / 375) * 28);
	top: 50%;
	left: calc((100vw / 375) * 2);
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#company .access .subTitle h2 {
		font-size: 3.2rem;
		padding-left: 18px;
	}
	#company .access .subTitle h2::before {
		width: 5px;
		height: 35px;
		left: 2px;
	}
}

#company .access .subTitle .descText {
	margin-top: calc((100vw / 375) * 12);
}
@media screen and (min-width:780px){
	#company .access .subTitle .descText {
		margin-top: 5px;
	}
}

#company .office {
	margin-right: calc((100vw / 375) * 15);
	margin-left: calc((100vw / 375) * 15);
	margin-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#company .office {
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 100px;
	}
}

#company .office .container {
	position: relative;
	background-color: #19477B;
  overflow: hidden;
	border-radius: calc((100vw / 375) * 5);
}
@media screen and (min-width:780px){
	#company .office .container {
		border-radius: 23px;
	}
}

#company .office .container::before {
	content: '';
	display: block;
	background-image: url('./img/top/bg_dot_sp.png');
	background-repeat: repeat;
	background-position: center;
	width: 100%;
	height: -webkit-fill-available;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width:780px){
	#company .office .container::before {
		background-image: url('./img/top/bg_dot.png');
	}
}

#company .office .mWrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	padding: calc((100vw / 375) * 25) calc((100vw / 375) * 5);
}
@media screen and (min-width:780px){
	#company .office .mWrap {
		flex-direction: row;
		align-items: center;
		padding: 55px 3%;
	}
}
@media screen and (min-width:1000px){
	#company .office .mWrap {
		padding: 55px 90px;
	}
}

#company .office .pageTitle,
#company .office .pageTitle span {
	color: #fff;
}

#company .office .mTxt p {
	font-size: calc((100vw / 375) * 13);
	line-height: 1.8;
	color: #fff;
	margin-top: calc((100vw / 375) * 20);
	margin-bottom: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#company .office .mTxt p {
		font-size: 1.5rem;
		margin-top: 35px;
		margin-bottom: 0;
	}
}

#company .office .mWrap .btn01 {
	width: auto;
}
@media screen and (min-width:780px){
	#company .office .mWrap .btn01 {
		width: 345px;
	}
}

#company .offceMain {
	position: relative;
	padding-top: calc((100vw / 375) * 10);
	padding-bottom: calc((100vw / 375) * 40);
}
@media screen and (min-width:780px){
	#company .offceMain {
		padding-top: 40px;
		padding-bottom: 78px;
	}
}

#company .offceMain .container {
	position: relative;
	background-color: #19477B;
	border-radius: calc((100vw / 375) * 5);
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
}
@media screen and (min-width:780px){
	#company .offceMain .container {
		border-radius: 20px;
		padding-left: 0;
		padding-right: 0;
	}
}

#company .offceMain .container::before {
	content: '';
	display: block;
	background-image: url('./img/top/bg_dot_sp.png');
	background-repeat: repeat;
	background-position: center;
	width: 100%;
	height: 884px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
#company .offceMain.noBtn .container::before {
	height: 775px;
}
@media screen and (min-width:780px){
	#company .offceMain .container::before {
		background-image: url('./img/top/bg_dot.png');
		width: 1280px;
		height: 884px;
	}
	#company .offceMain.noBtn .container::before {
		height: 884px;
	}
}

#company .offceMain .inner {
	color: #fff;
	text-align: center;
}

#company .offceMain .pageTitle {
	color: #fff;
	margin-top: calc((100vw / 375)* 40);
	margin-bottom: calc((100vw / 375)* 35);
}
@media screen and (min-width:780px){
	#company .offceMain .pageTitle {
		margin-top: 80px;
		margin-bottom: 34px;
	}
}

#company .offceMain .pageTitle span {
	color: #7CA9FF;
}

#company .offceMain .officeMap {
	position: absolute;
	top: calc((100vw / 375) * 265);
	left: 50%;
	transform: translateX(-50%);
	width: calc((100vw / 375)* 321);
	height: calc((100vw / 375)* 447);
	object-fit: cover;
}
@media screen and (min-width:780px){
	#company .offceMain .officeMap {
		top: 314px;
		left: 50%;
		transform: translateX(-50%);
		width: 767px;
		height: 503px;
	}
}

#company .offceMain .infiniteSlide1 {
	animation-duration: 50s !important;
	margin-top: calc((100vw / 375) * 68);
	margin-bottom: calc((100vw / 375) * 460);
}
#company .offceMain.noBtn .infiniteSlide1 {
  margin-bottom: calc((100vw / 375) * 330);
}
@media screen and (min-width:780px){
	#company .offceMain .infiniteSlide1 {
		margin-top: 10px;
		margin-bottom: 435px;
	}
	#company .offceMain.noBtn .infiniteSlide1 {
		margin-bottom: 435px;
	}
}

#company .offceMain .infiniteSlide1 img {
	width: calc((100vw / 375)* 1041.53);
	height: calc((100vw / 375)* 110);
}
@media screen and (min-width:780px){
	#company .offceMain .infiniteSlide1 img {
		width: 1694px;
		height: 179px;
	}
}


/* ========== #index エヌエスの事業(#business) ========== */
#business .business {
	padding-top: calc((100vw / 375) * 15);
	padding-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#business .business {
		padding-top: 35px;
		padding-bottom: 75px;
	}
}

#business .business .descText {
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#business .business .descText {
		margin-top: 30px;
	}
}

#business .business .bItem {
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#business .business .bItem {
		margin-top: 75px;
	}
}

#business .business .bItem li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: calc((100vw / 375) * 15);
	padding-bottom: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#business .business .bItem li {
		flex-direction: row;
		gap: 45px;
		padding-bottom: 50px;
	}
}

#business .business .bItem li + li {
	border-top: 1px solid #CCCCCC;
  padding-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#business .business .bItem li + li {
		padding-top: 50px;
	}
}

#business .business .bItem li .txt h3 {
	font-size: calc((100vw / 375) * 23);
	font-weight: bold;
	line-height: 1.6;
	color: #004FA2;
	margin-bottom: calc((100vw / 375) * 15);
}
@media screen and (min-width:780px){
	#business .business .bItem li .txt h3 {
		font-size: 3.2rem;
		margin-bottom: 30px;
	}
}

#business .business .bItem li .txt p {
	font-size: calc((100vw / 375) * 16);
	font-weight: 500;
	line-height: 1.8;
}
@media screen and (min-width:780px){
	#business .business .bItem li .txt p {
		font-size: 1.8rem;
	}
}

#business .business .bItem li img {
	width: 100%;
}
@media screen and (min-width:780px){
	#business .business .bItem li img {
		width: 470px;
	}
}

#business .business .btn01 {
	display: block;
	margin: 0 auto;
}

#business .advantage .aWrap {
	margin-top: calc((100vw / 375) * 30);
	margin-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#business .advantage .aWrap {
		margin-top: 60px;
		margin-bottom: 80px;
	}
}

#business .advantage .aWrap li {
	display: flex;
	flex-direction: column;
}
@media screen and (min-width:780px){
	#business .advantage .aWrap li {
		flex-direction: row;
		gap: 40px;
	}
	#business .advantage .aWrap li:nth-of-type(2) {
		flex-direction: row-reverse;
	}
}

#business .advantage .aWrap li + li {
	margin-top: calc((100vw / 375) * 25);
}
@media screen and (min-width:780px){
	#business .advantage .aWrap li + li {
		margin-top: 100px;
	}
}

#business .advantage .aWrap picture {
	width: 94%;
}
#business .advantage .aWrap img {
	width: 100%;
}
#business .advantage .aWrap li:nth-of-type(2) picture {
	margin: 0 0 0 auto;
}
@media screen and (min-width:780px){
	#business .advantage .aWrap picture,
	#business .advantage .aWrap img,
	#business .advantage .aWrap li:nth-of-type(2) picture {
		width: 470px;
		margin: 0;
	}
}

#business .advantage .aWrap .txt {
	margin-top: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#business .advantage .aWrap .txt {
		margin-top: 70px;
	}
}

#business .advantage .aWrap li .txt h3 {
	position: relative;
	font-size: calc((100vw / 375) * 21);
	font-weight: bold;
	line-height: 1.6;
	color: #383838;
	margin-bottom: calc((100vw / 375) * 12);
}
@media screen and (min-width:780px){
	#business .advantage .aWrap li .txt h3 {
		font-size: 3.3rem;
		margin-bottom: 25px;
	}
}

#business .advantage .aWrap li .txt h3::before {
	content: '';
	display: block;
	position: absolute;
	background-size: cover;
	width: calc((100vw / 375) * 90);
	height: calc((100vw / 375) * 88);
	z-index: -1;
}
@media screen and (min-width:780px){
	#business .advantage .aWrap li .txt h3::before {
		width: 200px;
		height: 256px;
	}
}

#business .advantage .aWrap li:nth-of-type(1) .txt h3::before {
  top: calc((100vw / 375) * -40);
	right: calc((100vw / 375) * -13);
	background-image: url(./img/business/advantage_num01.png);
}
#business .advantage .aWrap li:nth-of-type(2) .txt h3::before {
	top: calc((100vw / 375) * -48);
	left: calc((100vw / 375) * -10);
	background-image: url(./img/business/advantage_num02.png);
}
@media screen and (min-width:780px){
	#business .advantage .aWrap li:nth-of-type(1) .txt h3::before {
		right: -60px;
		top: -123px;
	}
	#business .advantage .aWrap li:nth-of-type(2) .txt h3::before {
		left: -52px;
		top: -124px;
	}
}

#business .advantage .aWrap li .txt p {
	line-height: 1.8;
}

#business .flow {
	padding-top: calc((100vw / 375) * 30);
	padding-bottom: calc((100vw / 375) * 40);
	background-color: #F4F4F4;
}
@media screen and (min-width:780px){
	#business .flow {
		padding-top: 60px;
		padding-bottom: 80px;
	}
}

#business .flow .fList {
	width: 100%;
	margin: 40px auto 0;
}
@media screen and (min-width:780px){
	#business .flow .fList {
		width: 840px;
		margin: 40px auto 0;
	}
}

#business .flow .fList li {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	box-sizing: border-box;
}
@media screen and (min-width:780px){
	#business .flow .fList li {
		height: 200px;
		padding: 48px 20px 48px 260px;
	}
}


@media screen and (min-width:780px){
	#business .flow .fList li:nth-of-type(1) { padding: 18px 20px 18px 260px; }
	#business .flow .fList li:nth-of-type(2) { padding: 37px 20px 34px 260px; }
}

#business .flow .fList li + li {
	margin-top: calc((100vw / 375) * 35);
}
@media screen and (min-width:780px){
	#business .flow .fList li + li {
		margin-top: 45px;
	}
}

#business .flow .fList li + li::before {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: calc((100vw / 375) * 16) calc((100vw / 375) * 41.5) 0px calc((100vw / 375) * 41.5);
	border-color: #014FA2 transparent transparent transparent;
	position: absolute;
	top: calc((100vw / 375) * -24);
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width:780px){
	#business .flow .fList li + li::before {
		border-width: 21px 45.5px 0px 45.5px;
		top: -32px;
	}
}

#business .flow .fList li .fIcon {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #014FA2;
	width: calc((100vw / 375) * 60);
	height: calc((100vw / 375) * 60);
}
@media screen and (min-width:780px){
	#business .flow .fList li .fIcon {
		width: 200px;
		height: 200px;
	}
}

#business .flow .fList li .fIcon::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background-size: cover;
}
#business .flow .fList li:nth-of-type(1) .fIcon::before {
	width: calc((100vw / 375) * 32);
	height: calc((100vw / 375) * 28);
	background-image: url(./img/business/flow_icon01.svg);
}
#business .flow .fList li:nth-of-type(2) .fIcon::before {
	width: calc((100vw / 375) * 29);
	height: calc((100vw / 375) * 25);
	background-image: url(./img/business/flow_icon02.svg);
}
#business .flow .fList li:nth-of-type(3) .fIcon::before {
	width: calc((100vw / 375) * 27);
	height: calc((100vw / 375) * 31);
	background-image: url(./img/business/flow_icon03.svg);
}
#business .flow .fList li:nth-of-type(4) .fIcon::before {
	width: calc((100vw / 375) * 31);
  height: calc((100vw / 375) * 31);
	background-image: url(./img/business/flow_icon04.svg);
}
#business .flow .fList li:nth-of-type(5) .fIcon::before {
	width: calc((100vw / 375) * 32);
	height: calc((100vw / 375) * 20);
	background-image: url(./img/business/flow_icon05.svg);
}
@media screen and (min-width:780px){
	#business .flow .fList li:nth-of-type(1) .fIcon::before {
		width: 59px;
		height: 52px;
	}
	#business .flow .fList li:nth-of-type(2) .fIcon::before {
		width: 59px;
		height: 52px;
	}
	#business .flow .fList li:nth-of-type(3) .fIcon::before {
		width: 52px;
		height: 61px;
	}
	#business .flow .fList li:nth-of-type(4) .fIcon::before {
		width: 66px;
		height: 67px;
	}
	#business .flow .fList li:nth-of-type(5) .fIcon::before {
		width: 77px;
		height: 48px;
	}
}

#business .flow .fList li .fTitle {
	padding: calc((100vw / 375) * 7) calc((100vw / 375) * 10) calc((100vw / 375) * 13) calc((100vw / 375) * 72);
}
@media screen and (min-width:780px){
	#business .flow .fList li .fTitle {
		padding: 0;
	}
}

#business .flow .fList li .fTitle img {
	width: calc((100vw / 375) * 32);
	height: calc((100vw / 375) * 17);
	object-fit: cover;
}
@media screen and (min-width:780px){
	#business .flow .fList li .fTitle img {
		width: 59px;
		height: 31px;
	}
}

#business .flow .fList li .fTitle h3 {
	font-size: calc((100vw / 375) * 16);
	font-weight: bold;
	margin-top: calc((100vw / 375) * 2);
}
@media screen and (min-width:780px){
	#business .flow .fList li .fTitle h3 {
		font-size: 3.2rem;
		margin-top: 2px;
	}
}

#business .flow .fList li .fTxt {
	font-size: calc((100vw / 375) * 14);
	line-height: 1.6;
	margin: calc((100vw / 375) * 12) calc((100vw / 375) * 15);
}
@media screen and (min-width:780px){
	#business .flow .fList li .fTxt {
		font-size: 1.5rem;
		margin: 14px 0 0 0;
	}
}

#business .flow .fList li .fBtn {
	display: none;
}
@media screen and (min-width:780px){
	#business .flow .fList li .fBtn {
		display: flex;
		flex-direction: row;
		gap: 10px;
		margin-top: 12px;
	}
}

#business .flow .fList li .fBtn a {
	position: relative;
	width: 190px;
	font-size: 1.5rem;
	font-weight: bold;
	border: 1px solid #014FA1;
	height: 42px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .7s ease;
}
#business .flow .fList li .fBtn a:nth-of-type(1) { color: #fff; background-color: #014FA2; }
#business .flow .fList li .fBtn a:nth-of-type(2) { color: #014FA2; }

#business .flow .fList li .fBtn a:nth-of-type(1):hover { background-color: #fff; color: #014FA2 }
/* #business .flow .fList li .fBtn a:nth-of-type(2):hover {background-color: #014FA2; color: #fff;} */

#business .flow .fList li .fBtn a .icon {
	display: inline-block;
	background-size: cover;
	margin-right: 12px;
	transition: .7s ease;
}
#business .flow .fList li .fBtn a:nth-of-type(1) .icon {
	background-image: url(./img/business/icon_mail.svg);
	width: 15px;
	height: 12px;
}
#business .flow .fList li .fBtn a:nth-of-type(2) .icon {
	background-image: url(./img/business/icon_phone.svg);
	width: 12px;
	height: 12px;
}
#business .flow .fList li .fBtn a:nth-of-type(1):hover .icon { filter: brightness(0) saturate(100%) invert(19%) sepia(98%) saturate(1763%) hue-rotate(195deg) brightness(97%) contrast(104%); }
/* #business .flow .fList li .fBtn a:nth-of-type(2):hover .icon  { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(245deg) brightness(104%) contrast(101%); } */

#business .brand {
	position: relative;
	padding-top: calc((100vw / 375) * 25);
	padding-bottom: calc((100vw / 375) * 45);
}
@media screen and (min-width:780px){
	#business .brand {
		padding-top: 80px;
		padding-bottom: 100px;
	}
}

#business .brand::before {
	content: '';
	display: block;
	background-image: url(./img/business/brand_bg01.png);
	background-size: cover;
	width: calc((100vw / 375) * 377);
	height: calc((100vw / 375) * 491);
	position: absolute;
	top: calc((100vw / 375) * -112);
	left: calc((100vw / 375) * -14);
	z-index: -1;
}
@media screen and (min-width:780px){
	#business .brand::before {
		width: 583px;
		height: 760px;
		top: -145px;
		left: 0;
	}
}

#business .brand .pageTitle {
	text-align: center;
}

#business .brand .bWrap {	
	margin-top: calc((100vw / 375) * 25);
}
@media screen and (min-width:780px){
	#business .brand .bWrap {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		gap: 50px;
		margin-top: 50px;
	}
}

#business .brand .bWrap img {
	position: absolute;
	width: calc((100vw / 375) * 230);
	top: calc((100vw / 375) * 80);
	left: calc((100vw / 375) * 0);
	z-index: 1;
}
@media screen and (min-width:780px){
	#business .brand .bWrap img {
		position: relative;
		top: auto;
		left: auto;
		width: 337px;
	}
}

#business .brand .bWrap p {
	position: relative;
	font-size: calc((100vw / 375) * 15);
	font-weight: bold;
	line-height: 1.7;
	padding: calc((100vw / 375) * 25);
	background-color: #F4F4F4;
	margin-top: calc((100vw / 375) * 240);
	margin-left: calc((100vw / 375) * 25);
	opacity: .9;
	border-radius: 5px;
	z-index: 5;
}
@media screen and (min-width:780px){
	#business .brand .bWrap p {
		font-size: 1.8rem;
		padding: 45px 55px;
		margin-top: 60px;
		margin-left: 0;
		opacity: 1;
	}
}

#business .brand .bWrap p span {
	color: #004EA2;
}


/* ========== #index 取扱製品(#products) ========== */
#products .item {
	padding-top: calc((100vw / 375) * 15);
	padding-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#products .item {
		padding-top: 35px;
		padding-bottom: 100px;
	}
}

#products .item .descText {
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#products .item .descText {
		margin-top: 30px;
	}
}

#products .item .pItem {
	display: flex;
	flex-direction: column;
	gap: calc((100vw / 375) * 20);
	margin-top: calc((100vw / 375) * 25);
	margin-bottom: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#products .item .pItem {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 30px 28px;
		margin-top: 75px;
		margin-bottom: 60px;
	}
}

#products .item .pItem li a {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: calc((100vw / 375) * 15);
	width: 100%;
	background-color: #F4F4F4;
	border: 1px solid #BFC4CB;
	border-radius: 5px;
	padding: calc((100vw / 375) * 10) calc((100vw / 375) * 15);
	box-sizing: border-box;
}
@media screen and (min-width:780px){
	#products .item .pItem li a {
		gap: 15px;
		width: 330px;
		padding: 18px 20px;
		transition: .6s ease;
	}
	#products .item .pItem li a:hover {
		color: #fff;
		background-color: #024EA2;
		border: 1px solid #024EA2;
	}
}

#products .item .pItem li a::before {
	content: '';
	display: block;
	width: calc((100vw / 375) * 31);
	height: calc((100vw / 375) * 24);
	background-image: url(./img/products/icon_book.svg);
	background-size: cover;
	position: absolute;
	top: 50%;
	right: calc((100vw / 375) * 15);
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#products .item .pItem li a::before {
		width: 31px;
		height: 24px;
		right: 15px;
	}
}

#products .item .pItem li img {
	width: calc((100vw / 375) * 65);
}
@media screen and (min-width:780px){
	#products .item .pItem li img {
		width: 80px;
	}
}

#products .item .pItem li h3 {
	font-size: calc((100vw / 375) * 18);
	line-height: 1.3;
	font-weight: bold;
}
@media screen and (min-width:780px){
	#products .item .pItem li h3 {
		font-size: 2.2rem;
	}
}

#products .item .btn01 {
	display: block;
	width: calc((100vw / 375) * 230);
	margin: 0 auto;
}
@media screen and (min-width:780px){
	#products .item .btn01 {
		width: 300px;
	}
}

#products .item .btn01 .arrowWrap .arrow {
    background-image: url(./img/icon_arrow_e.svg);
}

/* ========== #index 採用情報(#recruit) ========== */
#recruit .join {
	position: relative;
	margin-bottom: calc((100vw / 375) * 45);
}
@media screen and (min-width:780px){
	#recruit .join {
		margin-top: 50px;
		margin-bottom: 80px;
	}
}

#recruit .join::before {
	content: '';
	display: block;
	background-image: url(./img/recruit/recruit_bg01.png);
	background-size: cover;
	width: calc((100vw / 375) * 377);
	height: calc((100vw / 375) * 491);
	position: absolute;
	top: calc((100vw / 375) * -112);
	left: calc((100vw / 375) * -28);
	z-index: -1;
}
@media screen and (min-width:780px){
	#recruit .join::before {
		width: 583px;
		height: 760px;
		top: -145px;
		left: 0;
	}
}

#recruit .join .bWrap {
	display: flex;
	flex-direction: column;
	gap: calc((100vw / 375) * 10);
}
@media screen and (min-width:780px){
	#recruit .join .bWrap {
		flex-direction: row;
		gap: 5px;
	}
}

#recruit .join .bWrap .pageTitle {
	font-size: calc((100vw / 375) * 25);
  line-height: 1.7;
	margin-top: calc((100vw / 375) * 10);
	margin-bottom: calc((100vw / 375) * 15);
}
@media screen and (min-width:780px){
	#recruit .join .bWrap .pageTitle {
    font-size: 4.0rem;
		line-height: 1.5;
		margin-top: 45px;
		margin-bottom: 35px;
		white-space: nowrap;
	}
}

#recruit .join .bWrap picture,
#recruit .join .bWrap img {
	position: relative;
	right: 0;
	width: 100%;
	padding-left: calc((100vw / 375) * 8);
}
@media screen and (min-width:780px){
	#recruit .join .bWrap picture,
	#recruit .join .bWrap img {
		right: -20px;
		width: 377px;
		padding-left: 0;
	}
}

#recruit .division {
	background-color: #F4F4F4;
	padding-top: calc((100vw / 375) * 40);
	padding-bottom: calc((100vw / 375) * 35);
}
@media screen and (min-width:780px){
	#recruit .division {
		padding-top: 60px;
		padding-bottom: 80px;
	}
}

#recruit .division .pageTitle {
	text-align: center;
}

#recruit .division .divWrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: calc((100vw / 375) * 22);
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#recruit .division .divWrap {
		flex-direction: row;
		gap: 43px;
		margin-top: 40px;
	}
}

#recruit .division .divWrap li {
	width: 100%;
	border-radius: 5px;
	background-color: #fff;
}
@media screen and (min-width:780px){
	#recruit .division .divWrap li {
		width: 320px;
		min-height: 500px;
	}
}

#recruit .division .divWrap li img {
	width: 100%;
}

#recruit .division .divWrap li h3 {
	font-size: calc((100vw / 375) * 22);
	font-weight: bold;
	color: #004FA2;
	text-align: center;
	margin-top: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#recruit .division .divWrap li h3 {
		font-size: 2.2rem;
		margin-top: 19px;
	}
}

#recruit .division .divWrap li p {
	font-size: calc((100vw / 375) * 14);
	font-weight: 500;
	padding: calc((100vw / 375) * 15);
	line-height: 1.8;
}
@media screen and (min-width:780px){
	#recruit .division .divWrap li p {
		font-size: 1.4rem;
		padding: 16px 20px;
	}
}

#recruit .division .flowWrap {
	background-color: #fff;
	border-radius: 15px;
  box-shadow: 0px 0px calc((100vw / 375) * 8) 0px rgb(0 0 0 / 20%);
	padding-top: calc((100vw / 375) * 25);
	margin-top: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#recruit .division .flowWrap {
		border-radius: 15px;
		box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 20%);
		padding-top: 40px;
		margin-top: 44px;
	}
}

#recruit .division .flowWrap h3 {
	position: relative;
	font-size: calc((100vw / 375) * 23);
	font-weight: bold;
	padding-left: calc((100vw / 375) * 15);
	margin-left: calc((100vw / 375) * 20);
}
#recruit .division .flowWrap h3::before {
	content: '';
	display: block;
	background-color: #014FA2;
	width: 5px;
	height: 35px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#recruit .division .flowWrap h3 {
		font-size: 2.6rem;
		padding-left: 22px;
		margin-left: 38px;
	}
	#recruit .division .flowWrap h3::before {
		width: 5px;
		height: 35px;
	}
}

#recruit .division .flowWrap h3 span {
	font-size: calc((100vw / 375) * 19);
}
@media screen and (min-width:780px){
	#recruit .division .flowWrap h3 span {
		font-size: 2.2rem;
	}
}

#recruit .division .flowWrap .flowPc {
	display: none;
}
@media screen and (min-width:780px){
	#recruit .division .flowWrap .flowPc {
		display: block;
		padding-bottom: 85px;
		margin-top: 45px;
		overflow: hidden;
	}
}

#recruit .division .flowWrap .flowSp {
	display: block;
	margin-top: calc((100vw / 375) * 45);
}
@media screen and (min-width:780px){
	#recruit .division .flowWrap .flowSp {
		display: none;
		margin-top: 0;
	}
}

#recruit .division .flowWrap .flowPc .list {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	margin-left: 43px;
	text-align: center;
}

#recruit .division .flowWrap .flowPc .list + .list { margin-top: 36px; }
#recruit .division .flowWrap .flowPc .list:nth-of-type(2) {	margin-left: 116px; }

#recruit .division .flowWrap .flowPc .list::before {
	content: '';
	display: block;
	position: absolute;
	height: 1px;
	background-color: #014FA2;
	top: 45px;
}
#recruit .division .flowWrap .flowPc .list:nth-of-type(1)::before {	width: 1006px; left: 53px; }
#recruit .division .flowWrap .flowPc .list:nth-of-type(2)::before {	width: 801px;	left: -128px; }

#recruit .division .flowWrap .flowPc .list .time {
	display: block;
	font-size: 2.8rem;
	font-weight: bold;
	color: #014FA2;
}

#recruit .division .flowWrap .flowPc .list .icon {
	position: relative;
	display: block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #014FA2;
	margin: 10px auto;
	z-index: 9;
}

#recruit .division .flowWrap .flowPc .txt {
	display: block;
	font-size: 2.0rem;
	font-weight: bold;
	color: #014FA2;
	white-space: nowrap;
}

#recruit .division .flowWrap .flowPc .work {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	color: #014FA2;
	z-index: 10;
	line-height: 35px;
	padding: 0 14px;
	border-radius: 18px;
	border: 2px solid #014FA2;
	position: relative;
	background-color: #fff;
	top: 4px;
	white-space: nowrap;
}

#recruit .division .flowWrap .flowPc .work.num01 { margin-left: 43px; margin-right: 30px; }
#recruit .division .flowWrap .flowPc .work.num02 { margin-left: 23px; margin-right: 30px; }
#recruit .division .flowWrap .flowPc .work.num03 { margin-left: 30px; }
#recruit .division .flowWrap .flowPc .work.num04 { margin-left: 26px; margin-right: 26px; }
#recruit .division .flowWrap .flowPc .work.num05 { margin-left: 26px; margin-right: 30px; }

#recruit .division .flowWrap .flowSp li {
	margin-left: calc((100vw / 375) * 55);
	padding-left: calc((100vw / 375) * 28);
	padding-bottom: calc((100vw / 375) * 45);
	border-left: 1px solid #014FA2;
}
#recruit .division .flowWrap .flowSp li:last-of-type { border-left: 1px solid transparent; padding-bottom: calc((100vw / 375) * 30); }

#recruit .division .flowWrap .flowSp .time {
	position: relative;
	display: block;
	font-size: calc((100vw / 375) * 26);
	font-weight: bold;
	color: #014FA2;
	top: calc((100vw / 375) * -15);
}

#recruit .division .flowWrap .flowSp .time::before {
	content: '';
	display: block;
	width: calc((100vw / 375) * 15);
	height: calc((100vw / 375) * 15);
	position: absolute;
	top: calc((100vw / 375) * 9);
	left: calc((100vw / 375) * -36);
	background-color: #014FA2;
	border-radius: 50%;
}

#recruit .division .flowWrap .flowSp .txt {
	display: block;
	font-size: calc((100vw / 375) * 18);
	font-weight: bold;
	color: #014FA2;
	white-space: nowrap;
	margin-bottom: calc((100vw / 375) * 7);
	margin-top: calc((100vw / 375) * -10);
}

#recruit .division .flowWrap .flowSp .work {
	display: inline-block;
	font-size: calc((100vw / 375) * 15);
	font-weight: bold;
	text-align: center;
	color: #014FA2;
	z-index: 10;
	line-height: calc((100vw / 375) * 32);
	padding: 0 calc((100vw / 375) * 14);
	border-radius: calc((100vw / 375) * 20);
	border: 2px solid #014FA2;
	position: relative;
	background-color: #fff;
	white-space: nowrap;
}

#recruit .benefits {
	margin-top: calc((100vw / 375) * 38);
	margin-bottom: calc((100vw / 375) * 38);
}
@media screen and (min-width:780px){
	#recruit .benefits {
		margin-top: 80px;
		margin-bottom: 80px;
	}
}

#recruit .benefits .pageTitle { text-align: center; }

#recruit .benefits ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: calc((100vw / 375) * 27);
	margin-top: calc((100vw / 375) * 34);
	padding: calc((100vw / 375) * 25) calc((100vw / 375) * 20);
	border: 1px solid #014FA2;
	border-radius: 5px;
}
@media screen and (min-width:780px){
	#recruit .benefits ul {
		grid-template-columns: 162px 126px 290px;
		justify-content: center;
		gap: 28px 40px;
		margin-top: 35px;
		padding: 28px 20px;
	}
}
@media screen and (min-width:1160px){
	#recruit .benefits ul {		
		grid-template-columns: 162px 126px 290px;
		gap: 28px 80px;
	}
}

#recruit .benefits ul li {
	position: relative;
	font-size: calc((100vw / 375) * 18);
	font-weight: bold;
	padding-left: calc((100vw / 375) * 15);
}
#recruit .benefits ul li::before {
	content: '';
	display: block;
	width: calc((100vw / 375) * 8);
	height: calc((100vw / 375) * 8);
	background-color: #014FA2;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#recruit .benefits ul li {
		font-size: 1.8rem;
		padding-left: 16px;
		min-width: 162px;
	}
	#recruit .benefits ul li::before {
		width: 10px;
		height: 10px;
	}
}

#recruit .jobdesc {
	margin-right: calc((100vw / 375) * 15);
	margin-left: calc((100vw / 375) * 15);
	margin-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#recruit .jobdesc {
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 100px;
	}
}

#recruit .jobdesc .container {
	position: relative;
	background-color: #19477B;
  overflow: hidden;
	border-radius: calc((100vw / 375) * 5);
}
@media screen and (min-width:780px){
	#recruit .jobdesc .container {
		border-radius: 23px;
	}
}

#recruit .jobdesc .container::before {
	content: '';
	display: block;
	background-image: url('./img/top/bg_dot_sp.png');
	background-repeat: repeat;
	background-position: center;
	width: 100%;
	height: -webkit-fill-available;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width:780px){
	#recruit .jobdesc .container::before {
		background-image: url('./img/top/bg_dot.png');
	}
}

#recruit .jobdesc .mWrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	padding: calc((100vw / 375) * 25) calc((100vw / 375) * 5);
}
@media screen and (min-width:780px){
	#recruit .jobdesc .mWrap {
		flex-direction: row;
		align-items: center;
		padding: 55px 3%;
		gap: 35px;
	}
}
@media screen and (min-width:1000px){
	#recruit .jobdesc .mWrap {
		padding: 55px 90px;
	}
}



#recruit .jobdesc .pageTitle,
#recruit .jobdesc .pageTitle span {
	color: #fff;
}

#recruit .jobdesc .mTxt p {
	font-size: calc((100vw / 375) * 14);
	line-height: 1.8;
	color: #fff;
	margin-top: calc((100vw / 375) * 20);
	margin-bottom: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#recruit .jobdesc .mTxt p {
		font-size: 1.5rem;
		margin-top: 35px;
		margin-bottom: 0;
	}
}

#recruit .jobdesc .mWrap .btn01 {
	width: calc((100vw / 375) * 170);
	margin: 0 auto;
}
@media screen and (min-width:780px){
	#recruit .jobdesc .mWrap .btn01 {
		width: 277px;
		box-sizing: border-box;
		margin: 0;
	}
}

#recruit .jobdesc .mWrap .btn01 .arrowWrap .arrow,
#recruit .jobdesc .mWrap .btn01 .arrowWrap .arrowClone {
    background-image: url(./img/recruit/icon_link.svg);
}

/* ========== #index お知らせ(#news) ========== */
#news .newsBtn {
	padding-top: calc((100vw / 375) * 12);
	padding-bottom: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#news .newsBtn {
		padding-top: 45px;
		padding-bottom: 40px;
	}
}

#news .newsBtn ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
  flex-wrap: wrap;
	gap: calc((100vw / 375) * 18);
  border-bottom: 1px solid #CCCCCC;
	padding-bottom: calc((100vw / 375) * 28);
}
@media screen and (min-width:780px){
	#news .newsBtn ul {
		flex-direction: row;
		gap: 24px;
    padding-bottom: 40px;
	}
}

#news .newsBtn ul li {
	font-size: calc((100vw / 375) * 14);
	font-weight: 600;
	border: 1px solid #676767;
	color: #676767;
	width: calc(50% - calc((100vw / 375) * 12));
}
#news .newsBtn ul li.isActive {
	background-color: #024EA2;
	border: 1px solid #024EA2;
	color: #fff;
}
@media screen and (min-width:780px){
	#news .newsBtn ul li {
		font-size: 1.5rem;
		width: 140px;
		transition: .8s ease;
	}
	#news .newsBtn ul li:hover {
		background-color: #024EA2;
		border: 1px solid #024EA2;
		color: #fff;
	}
	#news .newsBtn ul li:hover a{
		color: #fff;
	}

}

#news .newsBtn ul li > * {
  text-align: center;
  padding: calc((100vw / 375) * 16) 0;
  display: block;
}
@media screen and (min-width:780px){
	#news .newsBtn ul li > * {
		padding: 18px 0;
		cursor: pointer;
	}
}

#news .newsList .listWrap {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
  align-items: flex-start;	
  gap: 36px 2%;
}
@media screen and (min-width:780px){
	#news .newsList .listWrap {
		flex-direction: row;
		gap: calc((100vw / 375) * 25);
	}
}
@media screen and (min-width:1120px){
	#news .newsList .listWrap {
		gap: 36px 64px;
	}	
}

#news .newsList .listWrap .item {
	width: 100%;
}
@media screen and (min-width:780px){
	#news .newsList .listWrap .item {
		width: 32%;
		transition: .7s ease;
	}
}
@media screen and (min-width:1120px){
	#news .newsList .listWrap .item {
		width: 306px;
	}
	#news .newsList .listWrap .item:hover {
		opacity: .7;
	}
}

#news .newsList .item .img {
	border-radius: 5px;
}
@media screen and (min-width:780px){
	#news .newsList .item .img {
		border-radius: 5px;
	}
}

#news .newsList .item .img img {
  height: calc((100vw / 375) * 208);
	object-fit: cover;
  aspect-ratio: 306 / 200;
}
@media screen and (min-width:780px){
	#news .newsList .item .img img {
		height: auto;
		aspect-ratio: 306 / 200;
	}
}

#news .newsList .item .box {
	display: flex;
  align-items: center;
  gap: calc((100vw / 375) * 10);
	margin-top: calc((100vw / 375) * 10);
}
@media screen and (min-width:780px){
	#news .newsList .item .box {
		gap: 10px;
		margin-top: 10px;
	}
}

#news .newsList .item .time {
	font-size: calc((100vw / 375) * 15);
	font-weight: 500;
	color: #A2A0A0;
}
@media screen and (min-width:780px){
	#news .newsList .item .time {
		font-size: 1.6rem;
	}
}

#news .newsList .item .category {
	display: inline-block;
	font-size: calc((100vw / 375) * 12);
	font-weight: bold;
	text-align: center;
	color: #024EA2;
	line-height: 1;
	border: 1px solid #024EA2;
	border-radius: calc((100vw / 375) * 20);
	padding: calc((100vw / 375) * 8.5) calc((100vw / 375) * 13) calc((100vw / 375) * 8);
}
@media screen and (min-width:780px){
	#news .newsList .item .category {
		font-size: 1.3rem;
		border-radius: 20px;
		padding: 8px 14px;
	}
}

#news .newsList .item .name {
	font-size: calc((100vw / 375) * 16);
	font-weight: bold;
	line-height: 1.7;
	margin-top: calc((100vw / 375) * 12);
}
@media screen and (min-width:780px){
	#news .newsList .item .name {
		font-size: 1.6rem;
		margin-top: 12px;
	}
}

#news .pageBox {
	position: relative;
	margin-top: calc((100vw / 375) * 35);
	margin-bottom: calc((100vw / 375) * 60);
}
@media screen and (min-width:780px){
	#news .pageBox {
		margin-top: 35px;
		margin-bottom: 80px;
	}
}

#news .pageBox .navLinks {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#news .pageBox .navLinks {
		gap: 24px;
	}
}

#news .pageBox .navLinks > * {
	font-size: calc((100vw / 375) * 19);
	font-weight: bold;
	border: 1px solid #CCCCCC;
	border-radius: 50%;
	width: calc((100vw / 375) * 50);
	height: calc((100vw / 375) * 50);
	display: flex;
	justify-content: center;
	align-items: center;
}
#news .pageBox .navLinks > .isCurrent {
	color: #fff;
	border: 1px solid #014FA2;
	background-color: #014FA2;
}
@media screen and (min-width:780px){
	#news .pageBox .navLinks > * {
		font-size: 1.9rem;
		width: 50px;
		height: 50px;
		transition: .8s ease;
	}
	#news .pageBox .navLinks > a:hover {
		color: #fff;
		border: 1px solid #014FA2;
		background-color: #014FA2;
	}
}


/* ========== #index お知らせ：詳細(#newsDetail) ========== */
#newsDetail .newsPosts {
	margin-top: calc((100vw / 375) * 10);
	margin-bottom: calc((100vw / 375) * 50);	
}
@media screen and (min-width:480px){
	#newsDetail .newsPosts {
		margin-top: 20px;
		margin-bottom: 80px;	
	}
}

#newsDetail .newsPosts .box {
	display: flex;
  align-items: center;
  gap: calc((100vw / 375) * 10);
	margin-top: calc((100vw / 375) * 10);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .box {
		gap: 10px;
		margin-top: 10px;
	}
}

#newsDetail .newsPosts time {
	font-size: calc((100vw / 375) * 14);
	font-weight: 500;
	color: #A2A0A0;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts time {
		font-size: 1.6rem;
	}
}

#newsDetail .newsPosts .category {
	display: inline-block;
	font-size: calc((100vw / 375) * 12);
	font-weight: bold;
	text-align: center;
	color: #024EA2;
	line-height: 1;
	border: 1px solid #024EA2;
	border-radius: calc((100vw / 375) * 25);
	padding: calc((100vw / 375) * 8.5) calc((100vw / 375) * 13) calc((100vw / 375) * 8);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .category {
		font-size: 1.3rem;
		border-radius: 20px;
		padding: 8px 14px;
	}
}

#newsDetail .newsPosts h1 {
	font-size: calc((100vw / 375) * 20);
	font-weight: 600;
	line-height: 1.4;
	padding-bottom: calc((100vw / 375) * 4);
	margin-top: calc((100vw / 375) * 7);
	margin-bottom: calc((100vw / 375) * 20);
	border-bottom: 1px solid #032D75;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts h1 {
		font-size: 2.4rem;
		padding-bottom: 6px;
		margin-top: 16px;
		margin-bottom: 40px;
	}
}

#newsDetail .newsPosts img{
	height: auto;
}

#newsDetail .newsPosts .thumb {
	border-radius: 5px;
	width: 100%;
	object-fit: cover;
}

#newsDetail .newsPosts .contArea {
	position:relative;
	margin-top: calc((100vw / 375) * 40);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea {
		margin-top: 55px;
	}
}

#newsDetail .newsPosts .contArea > * {
	margin-top: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea > * {
		margin-top: 40px;
	}
}

#newsDetail .newsPosts .contArea h2 {
	font-size: calc((100vw / 375) * 18);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.1rem;
	color: #024EA2;
}
#newsDetail .newsPosts .contArea h3 {
	font-size: calc((100vw / 375) * 17);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.1rem;
	color: #024EA2;	
}
#newsDetail .newsPosts .contArea h4 {
	position: relative;
	font-size: calc((100vw / 375) * 16);
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.1rem;
	padding-left: calc((100vw / 375) * 15);
	color: #024EA2;	
}
#newsDetail .newsPosts .contArea h4::before {
	content: '';
	display: inline-block;
	width: calc((100vw / 375) * 6);
	height: -webkit-fill-available;
	background-color: #024EA2;
	position: absolute;
	top: 0;
	left: 0;
}
#newsDetail .newsPosts .contArea h5 {
	font-size: calc((100vw / 375) * 16);
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.1rem;
	padding-bottom: 3px;
	color: #024EA2;	
	border-bottom: 1px solid #024EA2;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea h2 {
		font-size: 2.2rem;
		letter-spacing: 0.6px;
	}
	#newsDetail .newsPosts .contArea h3 {
		font-size: 1.8rem;
		letter-spacing: 0.6px;
	}
	#newsDetail .newsPosts .contArea h4 {
		font-size: 1.8rem;
		letter-spacing: 0.6px;
		padding-left: 15px;
	}
	#newsDetail .newsPosts .contArea h4::before {
		width: 6px;
		height: 32px;
	}
	#newsDetail .newsPosts .contArea h5 {
		font-size: 1.6rem;
    line-height: 1.6;
		letter-spacing: 0.6px;
		padding-bottom: 3px;
		border-bottom: 1px solid #024EA2;
	}
}

#newsDetail .newsPosts .contArea p {
	font-size: 1.5rem;
	line-height: 2.0;
	letter-spacing: 0.1rem;
	color: #222222;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea p {
		font-size: 1.6rem;
		line-height: 2.0;
		letter-spacing: 0.5px;
	}
}

#newsDetail .newsPosts .contArea p.bold {
	font-weight: 600;
}

#newsDetail .newsPosts .contArea p.line {
	font-weight: 500;
	text-decoration: underline;
}

#newsDetail .newsPosts .contArea img {
	display: block;
	margin-right: auto;
  margin-left: auto;
}
#newsDetail .newsPosts .contArea img.lg {
	width: 100%;
}
#newsDetail .newsPosts .contArea img + img {
	margin-top: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea img + img {
		margin-top: 40px;
	}
		#newsDetail .newsPosts .contArea img.md {
		width: 80%;
	}
	#newsDetail .newsPosts .contArea img.sm {
		width: 60%;
	}
}

#newsDetail .newsPosts .contArea a {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #005EFF;
	text-decoration: underline;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea a {
		font-size: 1.6rem;
	}
}

#newsDetail .newsPosts .contArea p + ul,
#newsDetail .newsPosts .contArea p + ol {
	margin-top: 0;
}

#newsDetail .newsPosts .contArea ul,
#newsDetail .newsPosts .contArea ol {
	font-size: 1.5rem;
	color: #222222;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea ul,
	#newsDetail .newsPosts .contArea ol {
		font-size: 1.6rem;
		color: #222222;
	}
}

#newsDetail .newsPosts .contArea ul li {
	position: relative;
	padding-left: calc((100vw / 375) * 10);
	margin-top: calc((100vw / 375) * 16);
}
#newsDetail .newsPosts .contArea ol li {
	position: relative;
	padding-left: calc((100vw / 375) * 20);
	margin-top: calc((100vw / 375) * 16);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea ul li {
		padding-left: 10px;
		margin-top: 14px;
	}
	#newsDetail .newsPosts .contArea ol li {
		padding-left: 20px;
		margin-top: 14px;
	}
}

#newsDetail .newsPosts .contArea ul li::before {
	content: '・';
	position: absolute;
	display: inline-block;
	top: 50%;
	left: calc((100vw / 375) * -4);
	transform: translateY(-50%);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea ul li::before {
		left: -4px;
	}
}

#newsDetail .newsPosts .contArea ol li::before {
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#newsDetail .newsPosts .contArea ol li:nth-of-type(1)::before { content: '1.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(2)::before { content: '2.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(3)::before { content: '3.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(4)::before { content: '4.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(5)::before { content: '5.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(6)::before { content: '6.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(7)::before { content: '7.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(8)::before { content: '8.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(9)::before { content: '9.'; }
#newsDetail .newsPosts .contArea ol li:nth-of-type(10)::before { content: '10.'; }

@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea h2 + table,
	#newsDetail .newsPosts .contArea h3 + table,
	#newsDetail .newsPosts .contArea h4 + table,
	#newsDetail .newsPosts .contArea h5 + table {
		margin-top: calc((100vw / 375) * 15);
	}
}
#newsDetail .newsPosts .contArea h2 + table,
#newsDetail .newsPosts .contArea h3 + table,
#newsDetail .newsPosts .contArea h4 + table,
#newsDetail .newsPosts .contArea h5 + table {
	margin-top: 20px;
}

#newsDetail .newsPosts .contArea table tr {
	display: table-row;
	border-bottom: 1px solid #232B33;
}
#newsDetail .newsPosts .contArea table tr:first-of-type {
	border-top: 1px solid #232B33;
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea table tr {
		border-bottom: 1px solid #232B33;
	}
}

#newsDetail .newsPosts .contArea table tr th {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.8;
	text-align: left;
  vertical-align: middle;
	width: auto;
	padding: calc((100vw / 375) * 15) calc((100vw / 375) * 10) calc((100vw / 375) * 15);
  min-width: calc((100vw / 375) * 50);
}
#newsDetail .newsPosts .contArea table tr td {
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: left;
	color: #222222;
	padding: calc((100vw / 375) * 15) calc((100vw / 375) * 13) calc((100vw / 375) * 15) calc((100vw / 375) * 13);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .contArea table tr th {
		font-size: 1.6rem;
		width: 110px;
		padding: 20px 10px;
	}
	#newsDetail .newsPosts .contArea table tr td {
		font-size: 1.6rem;
		padding: 20px 10px;
	}
}

#newsDetail .newsPosts .btn02 {
	display: block;
	margin: calc((100vw / 375) * 45) auto 0;
  width: calc((100vw / 375) * 200);
}
@media screen and (min-width:780px){
	#newsDetail .newsPosts .btn02 {
		display: block;
		margin: 70px auto 0;
		width: 225px;
	}
}


/* ========== #index CTAお問い合わせ(.ctaContact) ========== */
.ctaContact {
	position: relative;
  background: linear-gradient(to bottom, transparent 50%, #F8F8F8 50%);
	padding-right: calc((100vw / 375)* 15);
	padding-left: calc((100vw / 375)* 15);
}
@media screen and (min-width:780px){
	.ctaContact {
		padding-right: 0;
		padding-left: 0;
	}
}

.ctaContact .container {
	background-image: url('./img/bg_contact_sp.png');
	background-size: cover;
	/*height: 440px;*/
	border-radius: calc((100vw / 375)* 5);
	padding-bottom: calc((100vw / 375) * 80);
}
.ctaContact.style02 .container {
	/*height: calc((100vw / 375) * 265);*/
	height: calc((100vw / 375) * 305);
	background-position-y: bottom;
}
@media screen and (min-width:780px){
	.ctaContact .container {
		background-image: url('./img/bg_contact.png');
		height: 440px;
		border-radius: 5px;
	}
	.ctaContact.style02 .container {
		/*height: 440px;*/
		height: 470px;
	}
}


.ctaContact .inner {
	display: flex;
	flex-direction: column;
	gap: calc((10vw / 375) * 330);
  height: calc((100vw / 375) * 330);
	padding: calc((100vw / 375) * 40) 0 calc((100vw / 375) * 45) 0;
}
.ctaContact.style02 .inner {
	height: calc((100vw / 375) * 170);
}
@media screen and (min-width:780px){
	.ctaContact .inner {
		flex-direction: row;
		height: 440px;
		padding: 60px 0px 60px 0;
		align-items: center;
		justify-content: space-between;
	}
	.ctaContact.style02 .inner {
		flex-direction: column;
    justify-content: flex-start;
		gap: 20px;
		padding: 30px 90px 60px 117px;
		height: 320px;
	}
}
@media screen and (min-width:1200px){
	.ctaContact .inner {
		padding: 60px 90px 60px 117px;
	}
}

.ctaContact .cText h2,
.ctaContact .cText h2 span {
	color: #fff;
}
.ctaContact .cText p {
	color: #fff;
	margin-top: calc((100vw / 375) * 15);
}
.ctaContact.style02 .cText p {
	font-size: calc((100vw / 375) * 16);
	font-weight: 600;
	text-align: center;
}
@media screen and (min-width:780px){
	.ctaContact .cText p {
		margin-top: 30px;
	}
	.ctaContact.style02 .cText p {
		font-size: 2.2rem;
		font-weight: 600;
		text-align: left;
	}
}

.ctaContact .btnWrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc((100vw / 375) * 20);
	width: 100%;
}
@media screen and (min-width:780px){
	.ctaContact .btnWrap {
		gap: 30px;
		width: auto;
	}
}

.ctaContact .ctaContactBtn {
	position: relative;
	font-size: calc((100vw / 375) * 17);
	font-weight: bold;
	text-align: center;
	color: #fff;
	border: 1px solid transparent;
	padding: calc((100vw / 375) * 28) 0;
	width: 100%;
	z-index: 10;
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: calc((100vw / 375) * 10);
	align-items: center;
}
.ctaContact .ctaContactBtn .icon {
	display: inline-block;
	background-image: url('./img/icon_send.svg');
	background-size: cover;
	width: calc((100vw / 375)* 17);
	height: calc((100vw / 375)* 17);
}
.ctaContact .ctaContactBtn::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: calc((100vw / 375) * 76.53);
	background-color: rgb(12 42 75 / 60%);
	border-radius: calc((100vw / 375) * 3);
	border: 1px solid #fff;
	transform: translate(-50%, -50%);
	transition: width .3s ease, height .3s ease;
	z-index: -1;
} 
@media screen and (min-width:780px){
	.ctaContact .ctaContactBtn {
		font-size: 2.6rem;
		padding: 58px 40px;
		width: auto;
		white-space: nowrap;
		gap: 15px
	}
	.ctaContact .ctaContactBtn .icon {
		width: 27px;
		height: 27px;
	}
	.ctaContact .ctaContactBtn::before {
		top: 50%;
		left: 50%;
		height: 145px;
		border-radius: 5px;
		transform: translate(-50%, -50%);
	} 
	.ctaContact .ctaContactBtn:hover::before {
		width: 350px;
		height: 127px;
	}
}
@media screen and (min-width:1000px){
	.ctaContact .ctaContactBtn::before {
		width: 500px;
	}
	.ctaContact .ctaContactBtn{
		padding: 58px 100.15px;
	}
	.ctaContact .ctaContactBtn:hover::before {
		width: 440px;
		height: 127px;
	}
}

.ctaContact .ctaTelBtn {
	position: relative;
	font-size: calc((100vw / 375) * 11);
	font-weight: 500;
	text-align: center;
	color: #fff;
	border: 1px solid transparent;
	padding: calc((100vw / 375) * 12.41) 0;
	width: 100%;
	backdrop-filter: blur(3px);
	z-index: 10;
}
.ctaContact .ctaTelBtn .enOswald {
	display: inline-block;
	font-size: calc((100vw / 375) * 22);
	font-weight: 500;
	letter-spacing: 0.1rem;
	margin-bottom: calc((100vw / 375) * 12);
}
.ctaContact .ctaTelBtn .icon {
	position: relative;
	display: inline-block;
	background-image: url('./img/icon_tell_w.svg');
	background-size: cover;
	width: calc((100vw / 375)* 15);
	height: calc((100vw / 375)* 19.1);
	margin-right: calc((100vw / 375) * 7);
	top: calc((100vw / 375) * 1);
}
.ctaContact .ctaTelBtn::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: calc((100vw / 375) * 76.53);
	background-color: rgb(12 42 75 / 5%);
	border-radius: calc((100vw / 375) * 3);
	border: 1px solid rgb(255 255 255 / 50%);
	transform: translate(-50%, -50%);
	transition: width .3s ease, height .3s ease;
	z-index: -1;
} 
@media screen and (min-width:780px){
	.ctaContact .ctaTelBtn {
		font-size: 1.5rem;
		padding: 40px 40px;
		width: auto;
	}
	.ctaContact .ctaTelBtn .enOswald {
		font-size: 2.9rem;
		font-weight: 500;
		letter-spacing: 0.1rem;
		margin-bottom: 18px;
	}
	.ctaContact .ctaTelBtn .icon {
		width: 21px;
		height: 28px;
		margin-right: 10px;
		top: 2px;
	}
	.ctaContact .ctaTelBtn::before {
		top: 50%;
		left: 50%;
		
		height: 145px;
		border-radius: 5px;
		transform: translate(-50%, -50%);
		z-index: -1;
	} 
	.ctaContact .ctaTelBtn:hover::before {
		width: 350px;
		height: 127px;
	}

	.ctaContact.style02 .ctaTelBtn {
		font-size: 2.2rem;
    padding: 71px 231.25px;
	}
	.ctaContact.style02 .ctaTelBtn .enOswald {
		font-size: 4.8rem;
    margin-bottom: 34px;
	}
	.ctaContact.style02 .ctaTelBtn .icon {
		width: 37px;
		height: 48px;
		margin-right: 14px;
	}
	.ctaContact.style02 .ctaTelBtn::before {
		width: 884px;
		height: 245px;
	} 
	.ctaContact.style02 .ctaTelBtn:hover::before {
		width: 824px;
		height: 225px;
	}
}
@media screen and (min-width:1000px){
	.ctaContact .ctaTelBtn::before {
		width: 500px;
	}
	.ctaContact .ctaTelBtn:hover::before {
			width: 440px;
			height: 127px;
		}
	.ctaContact .ctaTelBtn{
		padding: 40px 105.99px;
	}

}


/* ========== #index 404(#notfound) ========== */
#notfound .breadcrumbs {
	margin-top: calc((100vw / 375) * 55);
}
@media screen and (min-width:780px){
	#notfound .breadcrumbs {
		margin-top: 100px;
	}
}

#notfound .mainCont {
	position: relative;
}

#notfound .mainCont h2 {
	font-size: calc((100vw / 375) * 42);
	font-weight: bold;
	text-align: center;
	color: #343434;
	margin-bottom: calc((100vw / 375) * 30);
}
@media screen and (min-width:780px){
	#notfound .mainCont h2 {
		font-size: 7.3rem;
		margin-bottom: 40px;
	}
}

#notfound .mainCont h2 span {
	display: block;
	font-size: calc((100vw / 375) * 66);
  padding-top: calc((100vw / 375) * 10);
  margin-bottom: calc((100vw / 375) * 10);
}
@media screen and (min-width:780px){
	#notfound .mainCont h2 span {
		font-size: 12.0rem;
		padding-top: 0;
		margin-bottom: 10px;
	}
}

#notfound .mainCont .bgTxt {
	font-size: calc((100vw / 375) * 24);
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	color: #343434;
	margin-bottom: calc((100vw / 375) * 20);
}
@media screen and (min-width:780px){
	#notfound .mainCont .bgTxt {
		font-size: 3.8rem;
		margin-bottom: 28px;
	}
}

#notfound .mainCont .centerTxt {
	font-size: calc((100vw / 375) * 15);
	font-weight: bold;
	text-align: center;
	line-height: 1.8;
	color: #343434;
}
@media screen and (min-width:780px){
	#notfound .mainCont .centerTxt {
		font-size: 2.0rem;
		line-height: 1.6;
	}
}

#notfound .mainCont .backBtn {
	text-align: center;
	margin-top: calc((100vw / 375) * 30);
	margin-bottom: calc((100vw / 375) * 50);
}
@media screen and (min-width:780px){
	#notfound .mainCont .backBtn {
		margin-top: 70px;
		margin-bottom: 80px;
	}
}

#notfound .mainCont .backBtn .btn02 {
  width: calc((100vw / 375) * 145);
}
@media screen and (min-width:780px){
	#notfound .mainCont .backBtn .btn02 {
		width: 175px;
	}
}

/* ========== Contact ========== */
#contact form{
	margin-bottom: 50px;
}
#contact .smf-progress-tracker{
	width: 350px;
	margin: 0 auto 50px;
}
#contact .smf-progress-tracker__item__text{
  position: absolute;
  top: -40px;
  color: #B9B9B9;
  font-size: 1.8rem;
}
#contact .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text{
	 color: #004FA2;
}
#contact .smf-progress-tracker__item__number{
	width: 18px;
	height: 18px;
	overflow: visible;
}
#contact .smf-progress-tracker__item__number::before{
	content:'';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #EFEFEF;
	left: 0;
	top: 0;
  border-radius: 50%;
}
#contact .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number::before{
	background-color: #004FA1;
}
#contact .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number::after{
	content:'';
	position: absolute;
	width: 38px;
	height: 38px;
	border: 1px solid #004FA1;
	left: auto;
	top: auto;
  border-radius: 50%;
}
#contact .smf-progress-tracker__item:after, #contact .smf-progress-tracker__item:before{
	top: 9px;
	background-color: #EFEFEF;
}

#contact .smf-form{
	max-width: 884px;
	margin: 0 auto;
}
#contact .contactTxt,#contact .container h4{
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 40px;
	margin-top: 40px;
}
#contact .smf-form--simple-table .smf-item{
	align-items: center;
	padding: 30px 0;
  border-bottom: 1px solid #CCCCCC;
}
#contact .smf-form--simple-table .smf-item__col--label{
	font-weight: bold;
	font-size: 1.6rem;
	display: flex;
	gap: 10px;
	align-items: center;
}
@media screen and (min-width:640px){
	#contact .smf-form--simple-table .smf-item__col--label{
		flex: 0 0 18em;
    max-width: 18em;
	}
}

#contact .smf-item__description{
	padding: 0 10px;
  background: #004EA2;
  color: #fff;
  font-size: 1.2rem;
  margin-top: 0;
}

#contact .smf-form .smf-text-control__control ,#contact .smf-form .smf-select-control__control, #contact .smf-form .smf-textarea-control__control{
	background-color: #EFEFEF;
	border: none;
  padding: 18px 20px;
  width: 100%;
}
#contact .smf-form .smf-select-control__control{
	background: none;
}
#contact .smf-form .smf-select-control{
	width: 100%;
	background-color: #EFEFEF;
}
#contact .smf-form .smf-select-control__toggle{
	background: none;
}
#contact .smf-form .smf-select-control__toggle:before{
	right: 15px;
}
#contact .smf-form .smf-control-description{
	font-size: 1.1rem;
}
#contact .privacy-policy{
  font-size: 1.2rem;
  line-height: 1.6;
  border: 1px solid #ccc;
  padding: 30px;
  height: 200px;
  overflow-y: scroll;
}
#contact .privacy-policy p{
	margin-bottom: 20px;
}
#contact .privacy{
  margin-top: 30px;
  display: flex;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: bold;
}
#contact .smf-form .smf-checkbox-control__control{
	margin-top: 0;
}
#contact .smf-button-control__control,#contact .smf-complete-content a{
    padding: 25px 70px;
    font-size: 1.8rem;
    color: #fff;
    border: 1px solid #024EA2;
    background: #024EA2;
    border-radius: 50px;
    font-weight: bold;
    transition: .2s;
}
#contact .smf-button-control__control:hover,#contact .smf-complete-content a:hover{
	background-color: #fff;
	color: #024EA2;
}
#contact .smf-button-control__control[data-action="back"]{
	background-color: #676767;
	border-color: #676767;
}
#contact .smf-button-control__control[data-action="back"]:hover{
	color: #676767;
}
#contact .smf-complete-content{
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: bold;
}
#contact .smf-complete-content a{
	display: inline-block;
	margin: 50px auto;
}

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

}
@media screen and (max-width:480px){
	#contact form{
		padding-top: 50px;
	}
	#contact .contactTxt, #contact .container h4{
		font-size: 1.6rem;
		line-height: 1.8;
		margin: 20px 0;
	}
	#contact .smf-progress-tracker__item__text{
	  font-size: 1.5rem;
	}
	#contact .smf-button-control__control,#contact .smf-complete-content a{
		padding: 20px 70px;
    font-size: 1.5rem;
	}
	#contact .smf-button-control__control:hover,#contact .smf-complete-content a:hover{
		background-color: #024EA2;
		color: #fff;
	}
	#contact .smf-button-control__control[data-action="back"]:hover{
		color: #fff;
	}
	#contact .privacy-policy{
		padding: 20px;
	}
	#contact .smf-progress-tracker{
		transform: scale(0.9);
	}
}


/* ========== @keyframes ========== */
@keyframes pathMove {
	0% {
		bottom: 85px;
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	100% {
		bottom: 20px;
		opacity: 0;
	}
}

@keyframes pathMoveSp {
	0% {
		bottom: calc((100vw / 375) * 65);
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	100% {
		bottom: calc((100vw / 375) * 10);
		opacity: 0;
	}
}

@keyframes btnAnime {
	0% {
		transform: translate(0, -50%);
	}
	20% {
		opacity: 0;
	}
	100% {
		transform: translate(150%, -50%);
		opacity: 0;
	}
}
@keyframes btnAnime2 {
	0% {
		transform: translate(-50%, -50%);
		opacity: 0;
	}
	40% {
		opacity: 0;
	}
	100% {
		transform: translate(0, -50%);
		opacity: 1;
	}
}

@keyframes btnAnime3 {
	0% {
		transform: translate(0, -50%);
	}
	20% {
		opacity: 0;
	}
	100% {
		transform: translate(-110%, -50%);
		opacity: 0;
	}
}
@keyframes btnAnime4 {
	0% {
		transform: translate(50%, -50%);
		opacity: 0;
	}
	40% {
		opacity: 0;
	}
	100% {
		transform: translate(0, -50%);
		opacity: 1;
	}
}

@keyframes HiddenAnime {
  from {
    opacity: 1;
		visibility: visible;
  }
  to {
    opacity: 0;
		visibility: hidden;
  }
}

@keyframes ShowAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mvFadein {
  0% {
    transform: translateX(80px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes home-dot-old {
  0% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 300;
    opacity: 0;
  }
}
@keyframes home-dot-current {
  0% {
    stroke-dashoffset: 300;
  }
  100% {
    stroke-dashoffset: 0;
  }
}