@charset "utf-8";
body {
	width: 100%;
	margin: 0 auto;
	font: 0.9rem/1.6 "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	color: #000;
	background-color: #d6d6d6;
	letter-spacing: 0.08rem;
}
img {
	width: 100%;
}

li {overflow: hidden;
}
a img {
  transition: all 0.2s;
}

a:hover img {
  transform: scale(1.1);
}

/* MV (Parallax)
--------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.mv-area {
	position: relative;
	clip-path: inset(0);
	width: 100% ;
	height: 100vh ;
}
.mv-area-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-image: url("../images/mv.webp");
	z-index: -1;
}

.img.c {
    background-image: url("assets/img/img-6.jpg");
}
.contents {
    color: #fff ;
    background: #01579B ;
    display: flex ;
    justify-content: center ;
    align-items: center ;
}
.contents.b {
    background: #FF9100 ;
}
.contents.c {
    background: #AD1457 ;
}


h1 img {
	width: 9rem;
}

/* Header (Parallax)
--------------------------------------------------------------------------------------------------------------------------------------------------------------*/
header {
	display: flex;
	justify-content: space-between;
	padding: 3vw 5vw;
	align-items: center;
}

/* gnav
------------------------------------------------------------------------------*/
nav	{}
.gnav{}
.gnav div.drawer{
	display:none;
}
.gnav ul{
	display: flex;
}
.gnav ul li{
	font-family:orbitron;
}
.gnav ul li > a{
	font-size: 0.84rem;
	color:#FFF;
	padding-left: 2rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}
.gnav ul li ul.gnav-list-sns li a {
	padding-left: 1rem;
}
.gnav ul li ul.gnav-list-sns li:nth-child(1) a {
	padding-left: 2rem;
}

@media screen and (max-width:960px){
h1 img {
	width: 8rem;
}
nav	{
	display: flex;
	justify-content: space-between;
	align-items: center;
	justify-content: center;
	
}
.gnav div.drawer{
	cursor:pointer;
	display:flex;
	width: 42px;
	height: 42px;
	color:#FFF;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	border: 1px solid #FFF;

}
.gnav div.drawer span {
	background-color: #FFF;
	display: block;
	height: 4px;
	transition: 0.3s;
	width: 4px;
	border-radius: 50%;
}
.gnav ul {
	position: absolute;
	width:100%;
	top: calc(2.8rem + 6vw);
	left: 0;
	display:none;
	background-color: rgba(214 214 214 / 90%);
}
.gnav ul li{
	border-bottom:solid 1px #FFF;
	text-align: center;
}
.gnav ul li:last-child {
	border-bottom:0 none;
}
.gnav ul li a{
	display: inline-block;
	width: 100%;
	line-height: 2.8;
	padding-left: 0;
}
.gnav ul ul.gnav-list-sns {
	position: inherit;
	display: flex !important;
	justify-content: center;
	padding: 1rem 0;
	background-color: transparent !important;
}
.gnav ul ul.gnav-list-sns li {
	border-bottom:0 none;
}

.gnav ul li ul.gnav-list-sns li a {
	padding-left: 2rem;
}
.gnav ul li ul.gnav-list-sns li:nth-child(1) a {
	padding-left: 0;
}


.drawer.open span:nth-of-type(1) {
	width: 20px;
	height: 3px;
	transform: translate(4px, 1px) rotate(45deg); 
	transform-origin: 0%;
	border-radius:0;
  }
.drawer.open span:nth-of-type(2) {
	opacity: 0;
  }
.drawer.open span:nth-of-type(3) {
	width: 20px;
	height: 3px;
	transform: translate(4px, -2px) rotate(-45deg); 
	transform-origin: 0%;
	border-radius:0;
  }

}



/* Home
--------------------------------------------------------------------------------------------------------------------------------------------------------------*/.inner {
	max-width: 1080px;
	margin: 0 auto;
}
.news-area {
	color: #FFF;
	background: #bac8cc;
	padding: 6vw 6vw;
}
.news-area .inner {
	display: flex;
	flex-wrap: wrap;
}

.news-area .inner h2 {
	font-family:orbitron;
	font-size: 1.1rem;
	text-transform: uppercase;
	width: 10%;
	font-weight: bold;
	letter-spacing: 0.2rem;
}
.news-area .inner h2 span {
	display: inline-block;
	writing-mode: vertical-rl;
}
.news-area .inner ul {
	width: 90%;
}
.news-area .inner ul li a {
	display: flex;
	padding: 0.5rem 0;
	position: relative;
	align-items: center ;
}
.news-area .inner ul li:first-of-type a {
	padding-top: 0;
}


.date {
	font-size: 0.8rem;
	font-family:orbitron;
	letter-spacing: 0.2em;
	padding-right: 2rem;
	white-space: nowrap;
}
.label {
	font-family:orbitron;
	letter-spacing: 0.2em;
	text-align: center;
	font-size: 0.6rem;
	text-transform: uppercase;
}
.label span {
	white-space: nowrap;
	border: 1px solid #FFF;
	display: flex;
	width: 4.6rem;
	line-height: 1.2;
	justify-content: center;
	align-items: center;
}
.news-area .inner ul li .title {
	position: relative;
	display: block;
	width: 100%;
	padding-left: 2rem;
}

.news-area .inner ul li .title:before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2px;
  width: 0.4rem;
  height: 0.4rem;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
}
 
.news-area .inner ul li .title:after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 0;
  height: 1px;
  background: #FFF;
transition: all .3s;
}
.news-area .inner ul li:hover .title:after {
	width: 2rem;
}

.news-area p {
	width: 100%;
	text-align: right;
	padding-top: 0.5vw;
}
.news-area p a {
	font-family:orbitron;
	letter-spacing: 0.2em;
	font-size: 0.7rem;
	text-decoration: underline;
}


.prof-area {
	width: 100% ;
	height: 100vh ;
	background: url("../images/prof.webp") no-repeat center center / cover;
	background-attachment: fixed ;
	padding: 6vw 6vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	clip-path: inset(0);
}
.prof-area-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-image: url("../images/prof.webp");
	z-index: -1;
}


.prof-area .inner {
	width: 100%;

}
.prof-area .inner h2 {
	font-family:orbitron;
	letter-spacing: 0.2em;
	width: 100%;
	font-size: 1.2rem;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 0.2rem;
	margin-bottom: 4vw;
color: #bac8cc;
}
.prof-area .inner h2 span {
	display: inline-block;

}
.prof-area main div {

}
.prof-area main h3 {
	font-size: 1.1rem;
}
.prof-area main h3 span  {
	display: inline-block;
	font-size: 0.7rem;
	font-family:orbitron;
	letter-spacing: 0.1em;
}
.prof-area main p {
}
.bio-link {
	margin-top: 1vw;
}
.bio-link a {
	font-size: 0.8rem;
	font-family:orbitron;
	letter-spacing: 0.2em;
	text-decoration: underline;
}


.link-area {
	color: #FFF;
	padding: 6vw 6vw;
	background: #eff2f3;
}
.link-area .inner {
	max-width: 1080px;
}
.link-area .inner ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.link-area .inner li {
	width: 32%;
}





















.blog p.intro {
	font-size: 0.8rem;
	padding: 1.4rem 3rem 2.6rem 3rem;
}
.hd_area {
	text-align: center;
	background: #FFF;
	padding: 4rem 0 2rem 0;
}
.hd_area p {
	font-size: 1.5rem;
	letter-spacing: 0.1rem;
	text-transform: uppercase;
	border-bottom: 3px solid #fa7598;
	display: inline-block;
	padding-bottom: 0.4rem;
	margin-bottom: 0.8rem;
}
.hd_area h1, .hd_area h2 {
	display: block;
	font-size: 0.9rem;
}

/*Blog*/
#latest {
	background: #FFF;
	padding: 0 1.5rem;
}
#latest div {

	display:table;
	width: 100%;
	padding: 1rem 0;
	border-bottom: 1px solid #c9d1d5;

}
#latest img {
	width: 8rem;
	height: 8rem;
	object-fit: cover;
	display: inline-block;
}
#latest p {
	width: 100%;
	font-size: 1rem;
	vertical-align: middle;
	display: table-cell;
	padding-left: 1rem;
}

#latest p span {
	color: #fa7598;
	font-size: 70%;
	display: block;
	margin-bottom: 10px;
}


main {
}

.tw {
	background: #FFF;
	padding: 0 1.5rem;
}
.insta {
	background: #FFF;
	padding: 0 1.5rem 4rem 1.5rem;
}
.btn  {text-align: center;}
.btn a {
	color: #fa7598;
	line-height: 3.2rem;
	text-align: center;
	border: 1px solid #fa7598;
	display: inline-block;
	width: 70%;
	margin-top: 2rem;
	border-radius: 0.6rem;
}

.btn02  {text-align: center;}
.btn02 a {
	font-size: 1rem;
	color: #FFF;
	line-height: 3.4rem;
	text-align: center;
	background: #fa7598;
	display: inline-block;
	width: 70%;
	margin-top: 1rem;
	border-radius: 0.6rem;
}


/* .sect_side
-----------------------------------------------------------------*/
.sect_side {
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1;
}

/* .sect_side_left
-----------------------------------------------------------------*/
.sect_side_left {
	position: relative;
	width: calc((100% - 530px) / 2);
}
@media print, screen and (max-width: 1024px) {
	.sect_side_left {
		display: none;
	}
}

.sect_side_left_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.side_logo {
	text-align: center;
}
.side_logo img {
  width: 200px;
}

/* .sect_side_right
-----------------------------------------------------------------*/
.sect_side_right {
	position: relative;
	width: calc((100% - 530px) / 2);
}
@media print, screen and (max-width: 1024px) {
	.sect_side_right {
		display: none;
	}
}

.sect_side_right_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}

.side_qr {
	display: block;
	width: 160px;
}
.side_qr img {
	width: 100%;
}
.sect_side_right_inner p {
	font-size: 1rem;
	text-align: center;
	margin-top: 0.8rem;
}
#ft_line_fxd {
	text-align: center;
      z-index:-1;
      transition: .2s;
      opacity: 0;
}
#ft_line_fxd a {
	font-size: 1.2rem;
	position: fixed;
	width: 100%;
	padding: 1.2rem 0;
	max-width: 530px;
left: 50%;
bottom: 0;
transform: translateX(-50%) translateY(0);
	color: #FFF;
	background: #00ca41;
}

.contact {
	position: relative;
}
.btn_area {
	text-align: center;
	width: 100%;
	position: absolute;
	bottom: 1.2rem;
}
.btn_area a {
	color: #FFF;
	line-height: 3.4rem;
	text-align: center;
	background: #fa7598;
	display: inline-block;
	border-radius: 0.6rem;
	width: 70%;
}

ul.phone {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 1rem;
	left: 1rem;

}
ul.phone  li  {
	display: flex;
  justify-content: center;
  align-items: center;
	width: 4rem;

}
ul.phone li:first-child {
	margin-right: .6rem;
}
ul.phone li a {
	font-size: 0.8rem;
	display: inline-block;
	background: #FFF;
	color:  #fa7598;
	width:100%;
	border-radius: 100rem;
	text-align: center;
	padding-top: 0.6rem;
	height: 4rem;
	border: 1px solid #fa7598;;
}
ul.phone li a i {
	font-size: 1.2rem;
	display: block;
	margin-bottom: 0.2rem;

}


.btn02  {text-align: center;}
.btn02 a {
	font-size: 1rem;
	color: #FFF;
	line-height: 3.4rem;
	text-align: center;
	background: #fa7598;
	display: inline-block;
	width: 70%;
	margin-top: 1rem;
	border-radius: 0.6rem;
}

.work ul {
	padding: 4rem 3rem 3rem 3rem;
	display: flex;
justify-content: space-between;
}
.work li {
	font-size: 0.86rem;
	text-align: center;
	width: 48.6%;
}
.work li img {
	margin-bottom: 0.5rem;
}

.embed-responsive {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 の場合のアスペクト比 */
	height: 0;
	overflow: hidden;
	margin-bottom: 2rem;
}
.embed-responsive iframe,
.embed-responsive img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.external_area {
	padding:0 3rem;
}
.v_blog iframe {
  display: block;
  margin: 0 auto;
  max-width: 100%;
	margin-bottom: 1.5rem;
	margin-top: 4rem;
}
.hd_yt {
	text-align: center;
	margin-bottom: 0.5rem;
}
footer {
	padding-top: 4rem;
	text-align: center;
}