@charset "utf-8";

/*var*/
:root {
  --font-family: YakuHanMP, "Zen Old Mincho", "游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif;
  --font-family-go: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  --font-family-en: "EB Garamond", serif;
  --font-markup: 0.7;/*clampの縮小率*/
  --color-main: #0081cc; /* ロゴブルー */
  --color-main-rgb: 0,129,204; /* ロゴブルーRGB */
  --color-main01: #84959e; /* うすいブルー？グレー？ */
  --color-white: #ffffff; /*白 */
  --color-white-rgb: 255,255,255; /* 白RGB */
  --color-def: #111111; /* スミ */
  --color-def01: #999999; /* スミ薄い */
  --color-def02: #efefef; /* スミとっても薄い */
  --line-height-narrow: 1.4;/*narrow*/
  --line-height: 1.8;
  --line-height-wide01: 2.4;/*wide*/
  --line-height-wide02: 3.0;/*very heigh*/
  --bp: 768px;/*break point*/
  --bp-sp: 375px;
  --bp-sp-narrow: 320px;
  --bp-sp-wide: 414px;
  --vw-pc: 11.30;
  --vw-sp: 3.75;
  --cont-width-pc: 1150px;/*1130*/
  --cont-width01-pc: 1020px;/*1000*/
  --cont-width-pc-narrow: 875px;/*855*/
  --cont-width-pc-width: calc(100% - 160px);/*855*/
  --cont-width-nv-pc: 1130;/*数値のみ numerical value*/
  --cont-width01-nv-pc: 1000;/*数値のみ numerical value*/
  --cont-width-nv-pc-narrow: 855;/*数値のみ numerical value*/
  --cont-width-sp: 375px;
  --cont-width-nv-sp: 375;/*数値のみ numerical value*/
  --transition-duration01: .3s;
  --transition-duration02: .6s;
  --opacity01: 0.7;
}

/* for Common & Smartphone*/
html,body{
	position:relative;
	height:100%;
}
html {
  scroll-behavior: smooth;
  /*font-size: 62.5%;10px基準*/
	}

@media screen and  (max-width:767px){
  /* スマートフォン 767px以下 */
  :target {
    scroll-margin-top: 75px;
  }
}
@media screen and (min-width:768px){
  :target {
    scroll-margin-top: 100px;
  }
}

body{
	position:relative;
	-webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
	background: var(--color-white);
	font-family: var(--font-family);
  font-optical-sizing: auto;
	font-weight: 400;
  font-style: normal;
	color: var(--color-def);
	line-height: var(--line-height);
}
@media screen and (max-width:320px) {
	html{
		/*font-size: 50%;*//*8px基準*/
	}
}
/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 840px) and (orientation:portrait) {
/*縦向きのみの記述*/
	
}
/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
/*縦向きのみの記述 --- iPad Pro12.9はPC表示*/
	html{
		/*font-size: 50%;*//*8px基準*/
	}
}

h1,h2,h3,h4,h5,h6{
  font-weight: 300;
}
.br{
  display: inline-block;
}
#page{
	height: 100%;
}

.sp{display:block;}
.pc{display:none;}

.spIL{display:inline;}
.pcIL{display:none;}

.conSP{
	margin-left: 5.33vw !important;/*20px*/
	margin-right: 5.33vw !important;
}

/*リンク 
*/
a:link{
	color:var(--color-def);
	text-decoration: none;
	}
a:visited{
	color:var(--color-def);
	}

a:active/*,
a:hover*/{
	color: var(--color-def);
	}
.disabled{
	cursor: default;
}
.txtUL{
	text-decoration: underline !important;
}
.linkTxt{
  color: #00a0e9 !important;
}

img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
}
img[src$=".svg"] {
    width: 100%;
}
.img100{
	width:100%;
}

.relative{
	position:relative;
	}
.static{
	position:static !important;
	}
.hide{
	display:none;
	}

/*font*/
.normal{
	font-family: var(--font-family);
	font-weight: 400;
	}
.bold{
	font-family: var(--font-family);
	font-weight: 700;
	}

.fGo{
	font-family: var(--font-family-go);
	font-weight: normal;
	font-weight: 400;
	}
.fGo.bold{
	font-weight:bold;
	font-weight: 700;
	}
.fEn{
	font-family: var(--font-family-en);
  font-weight: 400;
	}
.fEn.bold{
  font-weight: 700;
	}

/*txt*/
.tCol00{
	color: var(--color-def);
}
.tCol99{
	color: var(--color-white);
}
.tColMain{
	color: var(--color-main);
}

/* for PC*/
@media print, screen and (min-width:768px) {
	.sp{display:none;}
	.pc{display:block;}

	.spIL{display:none;}
	.pcIL{display:inline;}

	.conSP{
		margin-left:0 !important;
		margin-right:0 !important;
	}
	.conPC{
    /*width: auto !important;*/
    width: 100%;
		margin-left:auto !important;
		margin-right:auto !important;
		padding-left: 10px;
		padding-right: 10px;
	}
	.conPC{
		max-width: var(--cont-width-pc);
	}
	.conPC.-type01{
		max-width: var(--cont-width01-pc);
	}
	.conPC.-typeN01{
		max-width: var(--cont-width-pc-narrow);
	}
	.conPC.-typeW01{
		max-width: var(--cont-width-pc-width);
	}
  

	a:link,
	a:visited{}
	a:active,
	a:not(.disabled):hover{
		text-decoration:none;
		}
	a,
	.hover{
		-webkit-transition: var(--transition-duration01);
		transition: var(--transition-duration01);
		}
	a:not(.noRO):hover,
	.hover:hover{
		opacity: var(--opacity01);
		zoom:1; 
		}
	.disabled{
		text-decoration:none;
	}

}

/*
header
*/
.header{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
  z-index: 999;
}
.header::before{
	content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.9);
  transition: .8s;
}
.header .inner{
  position: relative;
  height: 100%;
}
/*
.header.hScroll{}
.header.hScroll::before{
  opacity: 1;
}
*/
.header a{
	display: block;
  line-height: 1.0;
}
.header a:hover{
	opacity: 1;
}
.header .logo{
  position: absolute;
  left: 10px;
  top: 50%;
	width: 40%;
  max-width: 220px;
  opacity: 1;
  transform: translate(0,-50%);
	}
.header .logo img:nth-of-type(1){
  opacity: 1;
  visibility: visible;
}
.header .logo img:nth-of-type(2){
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
}

/*文字白バージョン*/
.header.hTypeWh::before{
  background: rgba(255,255,255,0);
}
.header.hTypeWh/*:not(.active)*/ .logo{}
.header.hTypeWh/*:not(.active)*/ .logo img{
  transition: var(--transition-duration01);
}
.header.active .logo img:nth-of-type(1),
.header.hTypeWh/*:not(.active)*/ .logo img:nth-of-type(1){
  opacity: 0;
  visibility: hidden;
}
.header.active .logo img:nth-of-type(2),
.header.hTypeWh/*:not(.active)*/ .logo img:nth-of-type(2){
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width:767px) {
  .header.active::before{
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    background: rgba(0,0,0,0.8);
    opacity: 1;
    z-index: 999;
  }
}
.header *{
  z-index: 1000;
}



/* for PC*/
@media print, screen and (min-width:768px) {
	.header{
    display: flex;
    width: 100%;
		padding-left: calc((80 / 1100) * 100%);
		padding-right: calc((80 / 1100) * 100%);
		height: 65px;
    justify-content: space-between;
    align-items: center;
	}
  .header::before{}
  .header .inner{
     height: auto;
  }
  .header.hScroll{}
	.header a{
    display: block;
  }
	.header .logo{
    position: static;
    width: 176px;
    transform: none;
  }
}


/*
btnGNav
*/
.btnGNav {
	position: absolute;
	right: 5px;
	top: 50%;
	height: 40px;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
	}	
.btnGNav a,
.btnGNav a span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	}
.btnGNav a {
	position: relative;
	width: 40px;
	height: 40px;
	text-decoration: none;
	color: var(--color-main);
	}
.btnGNav a span {
	position: absolute;
	left: 5px;
	width: 30px;
	height: 1px;
	background-color: var(--color-main);
}
.btnGNav span:nth-of-type(1) {
  top: calc(50% - 8px);
}
.btnGNav span:nth-of-type(2) {
  top: 50%;
}
.btnGNav span:nth-of-type(3) {
  top: calc(50% + 8px);
}
.btnGNav a.active span{
  background-color: var(--color-white);
}
.btnGNav a.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
.btnGNav a.active span:nth-of-type(2) {
	top:20px;
  -webkit-transform: translateY(0) rotate(45deg);
  transform: translateY(0) rotate(45deg);
}
.btnGNav a.active span:nth-of-type(3) {
  opacity: 0;
}

/*文字白バージョン*/
.header.hTypeWh:not(.active) .btnGNav a span {
	background-color: var(--color-white);
}

/* for PC*/
@media print, screen and (min-width:768px) {
	.btnGNav {
    display: none;
  }	
}


/*
gNav
*/
.gNav {
  position: relative;
  width: 100%;
  height: calc(100vh - 100px);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
.gNav ul {
  width: 100%;
}
.gNav .nav {
  font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-sp)), 16px);/*16 / 14*/
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.gNav .nav a {
  position: relative;
  display: block;
  padding: 30px 0;
  color: var(--color-white);
  pointer-events: none;
  
}
.gNav .nav.current a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  display: block;
  width: 50px;
  height: 2px;
  background: var(--color-main);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
}
.gNav .nav a:hover{
  opacity: 1;
}
.gNav .nav a span{}
.gNav .nav a span.fEn {}

.home .gNav .nav:nth-of-type(1) a,
.works .gNav .nav:nth-of-type(3) a,
.about .gNav .nav:nth-of-type(4) a,
.recruiting .gNav .nav:nth-of-type(5) a{
  color: var(--color-main);
}


.header.active .gNav{
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.header.active .gNav .nav a{
  pointer-events: auto;
}






@media screen and (max-width:767px) {
  .gNav .nav a span.fJa {
    display: none;
  }
}






/* for PC*/
@media print, screen and (min-width:768px) {
	.gNav {
    display: block !important;
    position: static;
    width: auto;
    height: auto;
    text-align: center;
    transform: none !important;
    transition: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .gNav ul {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    width: auto;
    transform: none;
  }
  
  .gNav .nav {
    text-align: center;
    letter-spacing: normal;
  }
  .gNav .nav a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 1.5em;
    /*padding: 5px 1em 10px 1em;*/
    padding: 5px 0 10px 0;
    color: var(--color-def);
    font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-pc)), 16px);/*16 / 16*/
    text-align: center;
    pointer-events: auto;
  }

  .gNav .nav.current a::after {
    bottom: 0;
    width: 20px;
  }
  
  .gNav .nav a span{
    display: block;
    /*width: 100%;*/
    transition: .3s;
  }
  .gNav .nav a span.fEn {
    font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-pc)), 16px);/*16 / 16*/
    opacity: 1;
  }
  .gNav .nav a span.fJa {
    position: absolute;
    left: 50%;
    top: 42%;
    font-size: clamp(calc(14px * var(--font-markup)), calc(14vw / var(--vw-pc)), 14px);/*13 / 14*/
    transform: translate(-50%,-50%);
    line-height: 1.4;
    white-space: nowrap;
    opacity: 0;
  }
  
  /*hover*/
  .gNav .nav a:hover span.fEn {
    opacity: 0;
  }
  .gNav .nav a:hover span.fJa {
    opacity: 1;
  }
  
  
  /*文字白バージョン*/
  .header.hTypeWh .gNav .nav a {
    color: var(--color-white);
  }
  
  /*.header.hTypeWh .logo{}
  .header.hTypeWh .logo img{
    transition: var(--transition-duration01);
  }
  .header.hTypeWh .logo img{
    opacity: 0;
    visibility: hidden;
  }
  .header.hTypeWh .logo{
    background: url("../images/logo_wh.svg") no-repeat center center;
    background-size: cover;
  }*/

  /*.header:not(.hTypeWh) .logo img:nth-of-type(1){
    opacity: 0;
    visibility: hidden;
  }
  .header:not(.hTypeWh) .logo img:nth-of-type(2){
    opacity: 1;
    visibility: visible;
  }*/

  
  /*.header.hTypeWh::before{
    opacity: 0;
  }*/
  /*.header.hTypeWh .gNav li a .fEn,
  .header.hTypeWh .gNav li a .fJa,
  .header.hTypeWh .btnAccess a .fEn,
  .header.hTypeWh .btnAccess a .fJa{
    color: var(--color-white);
  }*/
}






/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
/*縦向きのみの記述 --- iPad Pro12.9はPC表示*/
	
}


/*
footer
*/
.footer{
  padding: 40px 0 40px 0;
  background:  var(--color-main01);
  color: var(--color-white);
}
.footer .inner{
  margin-left: 2.66vw !important;/*10px*/
	margin-right: 2.66vw !important;
  }
.footer a{
	display: block;
}
.footer .fNav{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 2.66vw;
  text-align: left;
}
.footer .fNav li{
  /*width: calc((100% - 10px) / 2);*/
  margin: 15px 0 0 0;
  line-height: 1.0;
}
.footer .fNav li:nth-of-type(2n+1){
  width: 60%;
}
.footer .fNav li:nth-of-type(2n){
  width: 40%;
}
.footer .fNav li a{
  display: flex;
  flex-direction: column;
  color: var(--color-white);
}
.footer .fNav li a .fEn{
  font-size: clamp(calc(13px * var(--font-markup)), calc(13vw / var(--vw-sp)), 13px);/*13 / 13*/
}
.footer .fNav li a .fJa{
  margin: 5px 0 0 0;
  font-size: clamp(calc(12px * var(--font-markup)), calc(12vw / var(--vw-sp)), 12px);/*12 / 12*/
}


.footer .address{
  margin: 40px auto 0 auto;
  text-align: center;
}
.footer .address .logo{
  width: 84px;
  margin: 0 auto;
}
.footer .address p{
  margin: 15px 0 0 0;
  font-size: clamp(calc(15px * var(--font-markup)), calc(15vw / var(--vw-sp)), 15px);/*15 / 16*/
  line-height: 1.0;
}
.footer .address p span{
  margin: 0 0 0 0.5em;
  font-size: clamp(calc(11px * var(--font-markup)), calc(11vw / var(--vw-sp)), 11px);/*11 / 11*/
}
.footer .address address{
  margin: 15px 0 0 0;
  font-size: clamp(calc(11px * var(--font-markup)), calc(11vw / var(--vw-sp)), 11px);/*11 / 12*/
  font-style: normal;
}
.footer .copyright{
  margin: 30px 0 0 0;
	padding-left: 0.05em;
	letter-spacing: 0.05em;
  color: var(--color-white);
	font-size: 10px;
	text-align: center;
	line-height: 1.2;
}


/* for PC*/
@media print, screen and (min-width:768px) {
	.footer{
    padding: 35px 0 35px 0;
  }
  .footer .inner{
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1010px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 10px;
    }
  .footer a{}
  .footer .fNav{
    justify-content: space-between;
    width: calc((480 / 1010) * 100%);
    padding: 0;
  }
  .footer .fNav li{    
    margin: 5px 0 25px 0;
    text-align: left;
  }
  .footer .fNav li:nth-of-type(2n+1){
    width: 57%;
  }
  .footer .fNav li:nth-of-type(2n){
    width: 43%;
  }
  .footer .fNav li a{
    flex-direction: row;
    justify-content: flex-start;
  }
  .footer .fNav li a .fEn{
    width: 6em;
    font-size: clamp(calc(13px * var(--font-markup)), calc(13vw / var(--vw-pc)), 13px);/*13 / 13*/
  }
  .footer .fNav li a .fJa{
    margin: 0;
    font-size: clamp(calc(12px * var(--font-markup)), calc(12vw / var(--vw-pc)), 12px);/*12 / 12*/
    text-align: left;
  }



  .footer .address{
    margin: 0;
    text-align: left;
  }
  .footer .address .logo{
    max-width: 84px;
    margin: 0 auto 0 0;
  }
  .footer .address p{
    margin: 20px 0 0 0;
    font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-pc)), 16px);/*15 / 16*/
  }
  .footer .address address{
    margin: 20px 0 0 0;
    font-size: clamp(calc(12px * var(--font-markup)), calc(12vw / var(--vw-pc)), 12px);/*11 / 12*/
  }
  .footer .address p span{
    font-size: clamp(calc(11px * var(--font-markup)), calc(11vw / var(--vw-pc)), 11px);/*11 / 11*/
  }
  .footer .copyright{
    margin-top: -1em;
    font-size: clamp(calc(12px * var(--font-markup)), calc(12vw / var(--vw-pc)), 12px);/*11 / 12*/
    text-align: right;
  }
}



/*btnPageTop*/
.btnPageTop{
	position:fixed;
	right:10px;
	bottom:140px;
  width: 20px;
	height: 5.5em;
  font-size: 10px;
	z-index:500;
	}
.btnPageTop a{
    /*描画位置*/
  position: absolute;
  right:0;
  top: 0;
  display: block;
    /*テキストの形状*/
  letter-spacing: 0.1em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  color: #222;
}
/* 線の描写 */
.btnPageTop::after{
  content: "";
    /*描画位置*/
  position: absolute;
  bottom: 0;
  right: 16px;
    /*線の形状*/
  width: 1px;
  height: 100%;
  background: #222;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 2.0s ease-in-out infinite;
  opacity:0;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .btnPageTop{
    bottom:160px;
    }
  .btnPageTop::after{
    right: 20px;
    animation: pathmove 2.4s ease-in-out infinite;
  }
  }

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    opacity: 1;
  }
  50%{
    height:100%;
    opacity: 1;
  }
  100%{
    top:0;
    bottom: auto;
    height:0;
    opacity: 1;
  }
}




/*
contents
*/
main{
	display: block;
}
.contents{
  margin-top: 60px;
  overflow: hidden;
}

.sec.-type01{
  margin-bottom: 40px;
}
.sec.-type02{
  margin-bottom: 60px;
}



/**/
.pageTtl{
  margin: 50px 0;
  font-size: clamp(calc(22px * var(--font-markup)), calc(22vw / var(--vw-sp)), 22px);/*22 / 22*/
  line-height: 1.0;
  text-align: center;
}
.pageTtl h1{
  font-size: clamp(calc(13px * var(--font-markup)), calc(13vw / var(--vw-sp)), 13px);/*13 / 14*/
}
.pageTtl p{
  font-family: var(--font-family-en);
  font-size: clamp(calc(24px * var(--font-markup)), calc(24vw / var(--vw-sp)), 24px);/*24 / 30*/
  letter-spacing: 0.05em;
  padding-left: 0.05em;
}

.hero{
  margin: 0 0 20px 0;
}
.ttl00{
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
}
.ttl00 .fEn{
  color: car(--color-main01);
  font-size: clamp(calc(40px * var(--font-markup)), calc(40vw / var(--vw-sp)), 40px);/*40 / 64*/
  line-height: 1.0;
  opacity: 0.48;
}
.ttl00 :not(.fEn){
  margin: 0 0 0 1.5em;
  font-size: clamp(calc(22px * var(--font-markup)), calc(22vw / var(--vw-sp)), 22px);/*22 / 22*/
}

.ttl01{/*色は個別に設定*/
  margin-bottom: 40px;
  padding-left: 0.1em;
  letter-spacing: 0.1em;
  font-size: clamp(calc(22px * var(--font-markup)), calc(22vw / var(--vw-sp)), 22px);/*22 / 22*/
  text-align: center;
  line-height: 1.0;
}
.ttl01.fEn{
  margin-bottom: 30px;
  padding-left: 0;
  letter-spacing: normal;
}

.ttl02{/*色は個別に設定*/
  margin-bottom: 20px;
  padding-left: 0.05em;
  letter-spacing: 0.05em;
  font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-sp)), 16px);/*16 / 18*/
  text-align: center;
  line-height: 1.0;
}


/*lead*/
.lead00{
  font-size: clamp(calc(13px * var(--font-markup)), calc(13vw / var(--vw-sp)), 13px);/*13 / 13*/
  letter-spacing: 0.05em;
}
.lead01{
  font-size: clamp(calc(14px * var(--font-markup)), calc(14vw / var(--vw-sp)), 14px);/*14 / 15*/
  letter-spacing: 0.05em;
}
.lead02{
  font-size: clamp(calc(15px * var(--font-markup)), calc(15vw / var(--vw-sp)), 15px);/*15 / 16*/
  letter-spacing: 0.05em;
}
.lead03{
  font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-sp)), 16px);/*16 / 18*/
  letter-spacing: 0.05em;
}
/*bg*/
.bg00{
  background: var(--color-white);
}
.bg99{
  background: var(--color-def);
}
.bg01{
  background: var(--color-main);
}



/* for PC*/
@media print, screen and (min-width:768px) {
	.contents{
    margin-top: 90px;
  }

  .sec.-type01{
    margin-bottom: 70px;
  }
  .sec.-type02{
    margin-bottom: 100px;
  }
  
  
	.pageTtl{
    margin: 100px 0;
    font-size: clamp(calc(22px * var(--font-markup)), calc(22vw / var(--vw-pc)), 22px);/*22 / 22*/
  }
  
  .ttl01{
    margin-bottom: 60px;
    font-size: clamp(calc(22px * var(--font-markup)), calc(22vw / var(--vw-pc)), 22px);/*22 / 22*/
    padding-left: 0.5em;
    letter-spacing: 0.5em;
  }
  .ttl01.fEn{
    margin-bottom: 40px;
  }
  .ttl02{/*色は個別に設定*/
    margin-bottom: 30px;
    font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-pc)), 18px);/*16 / 18*/
  }

  /*lead*/
  .lead00{
    font-size: clamp(calc(13px * var(--font-markup)), calc(13vw / var(--vw-pc)), 13px);/*13 / 13*/
    letter-spacing: 0.05em;
  }
  .lead01{
    font-size: clamp(calc(15px * var(--font-markup)), calc(15vw / var(--vw-pc)), 15px);/*14 / 15*/
    letter-spacing: 0.05em;
  }
  .lead02{
    font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-pc)), 16px);/*15 / 16*/
    letter-spacing: 0.05em;
  }
  .lead03{
    font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-pc)), 18px);/*16 / 18*/
    letter-spacing: 0.05em;
  }
}


/*logoMark [
----------------------------------------------------------- */
.logoMark{
  padding: 30px 0 40px 0;
}
.logoMark h2{
  margin: 10px 0 0 0;
  font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-sp)), 16px);/*16 / 18*/
  font-weight: 400;
  line-height: 1.0;
}
.logoMark h2 span{
  margin: 0 0 0 0.5em;
  font-size: clamp(calc(11px * var(--font-markup)), calc(11vw / var(--vw-sp)), 11px);/*11 / 12*/
}
.logoMark img{
  width: 33%;
  max-width: 130px;
  margin: 0 auto;
}

@media print, screen and (min-width:768px) {
  .logoMark{
    padding: 50px 0 60px 0;
  }
  .logoMark h2{
    margin: 15px 0 0 0;
    font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-pc)), 18px);/*16 / 18*/
  }
  .logoMark h2 span{
    font-size: clamp(calc(12px * var(--font-markup)), calc(12vw / var(--vw-pc)), 12px);/*11 / 12*/
  }
  .logoMark img{}
}


/*set aos
--------------------------------- */
/*custom animation*/
/*fade*/
* [data-aos="ca-fade"] {
	opacity: 0;
	}
* [data-aos="ca-fade"].aos-animate {
  opacity: 1;
}
/*slide-up*/
* [data-aos="ca-slideup"] {
	transform: translateY(30px);
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-slideup"].aos-animate {
	transform: translateY(0);
}
/*fade-up*/
* [data-aos="ca-fadeup"] {
	transform: translateY(10px);
	opacity: 0;
	}
* [data-aos="ca-fadeup"].aos-animate {
	transform: translateY(0);
  opacity: 1;
}



/*slide-left*/
* [data-aos="ca-slideleft"] {
	transform: translateX(30px);
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-slideleft"].aos-animate {
	transform: translateX(0);
}

/*fade-left*/
* [data-aos="ca-fadeleft"] {
	transform: translateX(10px);
	opacity: 0;
	}
* [data-aos="ca-fadeleft"].aos-animate {
	transform: translateX(0);
	opacity: 1;
}

/*slide-right*/
* [data-aos="ca-slideright"] {
	transform: translateX(-30px);
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-slideright"].aos-animate {
	transform: translateX(0);
}

/*fade-right*/
* [data-aos="ca-faderight"] {
	transform: translateX(-10px);
  opacity: 0;
	/*transition-delay: .3s;*/
	}
* [data-aos="ca-faderight"].aos-animate {
	transform: translateX(0);
  opacity: 1;
}


/* for pc*/
@media screen and (min-width: 768px) {
	/*custom animation*/
	* [data-aos="ca-slideup"] {
		transform: translateY(40px);
	}
  /*fade-up*/
  * [data-aos="ca-fadeup"] {
    transform: translateY(20px);
    }
  
	/*slide-left*/
	* [data-aos="ca-slideleft"] {
		transform: translateX(80px);
		}
  /*fade-left*/
  * [data-aos="ca-fadeleft"] {
    transform: translateX(20px);
    }
  
	/*slide-right*/
	* [data-aos="ca-slideright"] {
		transform: translateX(-80px);
		}
  /*fade-right*/
  * [data-aos="ca-faderight"] {
    transform: translateX(-20px);
    }
	
}




/*for ios*/
.ios a:hover{
	opacity: 1 !important;
}