/*===========================
20230630
==============================*/
.customer_contact .form-wrap iframe{
	height: 980px;
}
.customer_contact h3{
max-width: 760px;
	width: 100%;
	margin: 0 auto 30px auto;
	}	
@media screen and (max-width: 768px) {
.customer_contact .form-wrap iframe{
	height: 1000px;
}
}
@media screen and (max-width: 480px) {
	.customer_contact h3{
		font-size: 2rem;
		margin-bottom: 0px!important;
	}	
.customer_contact .form-wrap {
    margin: 50px auto 0px!important;
}
}
/*===========================
20230420 thanks page start
==============================*/
.btn--orange,
a.btn--orange {
     color: #fff;
    background-color: #F9912F;
    border-radius: 10px;
    width: 300px;
    font-size: 22px;
    display: flex;
    flex-flow: row;
    justify-content: center;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}
.btn--orange img{
	width: 15px;
    height: auto;
    position: absolute;
    right: 20px;
    top: 35%;
}
@media screen and (max-width: 992px) {
.btn--orange, a.btn--orange {
    margin: 0 auto;
}
}
/*===========================
20230303 thanks page start
==============================*/
.thanks_inner{
	display: flex;
	flex-flow: row;
}
.left_cotents{
	max-width: 350px;
	width: 100%;
	padding: 0 20px;
}
.right_cotents{
	width: 100%;
	padding: 0 20px;
	margin-top: 0px!important;
}
.c_blue2{
	color: #00A3FF;
}
@media screen and (max-width: 992px) {
.thanks_inner{display: block;
    padding: 0 15px!important;
}
.left_cotents{
	max-width: 760px;
	width: 100%;
	margin: 0 auto;
	padding: 0px;
}
.right_cotents{
	margin-top: 50px!important;
	padding: 0px;
}
}
/*===========================
20231223 start
==============================*/
.n_768{
	display: block;
}
.booking_page{
	padding: 60px 20px!important;
}
.booking_inner{
	display: flex;
	flex-flow: row;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.booking_item_l{
	width: 40%;
	padding-right: 20px;
}
.booking_item_r{
	width: 60%;
}
.booking_item_l h1{
	font-size: 3rem;
	color: #00A3FF;
	font-weight: 900;
}
.booking_item_l h2{
	font-weight: 900;
	font-size: 2rem;
}
.booking_item_l img{
	width: 100%;
	height: auto;
}
.booking_item_l ul{
  list-style:none;
}

.booking_item_l ul li{
	background: url("../img/booking_icon.webp")no-repeat 0 center;
  background-size:auto 20px;
  padding-left: 30px;
}
@media screen and (max-width: 1080px) {
.booking_item_l h1{
	font-size: 3vw;
}
.booking_item_l h2{
	font-size: 1.8vw;
	letter-spacing: 0px;
}
}
@media screen and (max-width: 768px) {
.n_768{
	display: none;
}
	.booking_inner{
	flex-flow: column;
}
.booking_item_l{
	width: 100%;
	padding-right: 0px;
}
.booking_item_r{
	width: 100%;
}
.booking_item_l h1{
	font-size: 6.5vw;
	margin-bottom: 10px!important;
}
.booking_item_l h2{
	font-size: 4vw;
	margin-bottom: 20px!important;
}
.booking_item_l ul li {
    font-size: 14px;
}
}
/*===========================
20231216 start
==============================*/
.seminar_form_content_item{
	display: flex;
	flex-flow: row;
	align-items: center;
}
.seminar_form_content_item h4{
	margin-bottom: 0px;
	font-weight: 700;
	width: 300px;
	line-height: 1.8;
}
.seminar_form_content_item .btn {
    padding: 6px 34px 6px 40px;
}
@media screen and (max-width: 768px) {
.seminar_form_content_item {
    flex-flow: column;
	}
.seminar_form_content_item h4 {
   text-align: center;
	margin-bottom: 10px;
}
}
@media screen and (max-width: 480px) {
	.form_page .inner h3{
		letter-spacing: 0px;
		font-size: 2.4rem;
	}
}
/*===========================
20231216  end
==============================*/
.b_768{
	display: none!important;
}
.header__cv{
	padding-left: 30px;
}
.pl-20{
	padding-left: 20px;
}
@media screen and (min-width: 768px) {
  .header__cv__list {
    display: flex;
  }
}

.header__cv__item {
  position: relative;
}

@media screen and (min-width: 768px) {
  .header__cv__item::after {
    content: "";
    position: absolute;
    top: 39%;
    right: 18px;
    width: 8px;
    height: 8px;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__item:nth-of-type(1) {
    width: 167px;
    height: 61px;
    background: #FFFFFF;
    border: 2px solid #F8902F;
    border-radius: 72px;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__item:nth-of-type(1) .header__cv__txt {
    color: #F8902F;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__item:nth-of-type(1)::after {
    top: 42%;
    transform: translateX(-50%) rotate(-45deg);
    border-bottom: solid 2px #F8902F;
    border-right: solid 2px #F8902F;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__item:nth-of-type(2) {
    width: 197px;
    height: 61px;
    background: #F8902F;
    border-radius: 72px;
    margin-left: 9px;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__item:nth-of-type(2) .header__cv__txt {
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__item:nth-of-type(2)::after {
    transform: translateX(-50%) rotate(-45deg);
    border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 7px;
    padding-top: 1px;
	  text-decoration: none;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__txt {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }
}

@media screen and (min-width: 768px) {
  .header__cv__txt span {
    font-size: 12px;
    display: block;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .btn--01 {
    box-shadow: 16px 16px 24px rgba(0, 0, 0, 0.24);
    transition: all .25s ease-out;
  }
}

@media screen and (min-width: 768px) {
  .btn--01:hover {
    background-color: #FFE9D5;
    transform: translateY(5%);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
    transition: all .25s ease-out;
  }
}

@media screen and (min-width: 768px) {
  .btn--02 {
    box-shadow: 16px 16px 24px rgba(0, 0, 0, 0.24);
    transition: all .25s ease-out;
  }
}

@media screen and (min-width: 768px) {
  .btn--02:hover {
    background-color: #F67B23;
    transform: translateY(5%);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
    transition: all .25s ease-out;
  }
}
@media screen and (max-width: 992px) {
#gnav li {
    font-size: 1.3vw;
}
#gnav li:nth-child(n+2) {
    margin-left: 10px;
}
.header__cv {
    padding-left: 15px;
}
header .inner {
    padding: 0 15px;
}
.header__cv__item:nth-of-type(1) {
    width: 137px;
}
.header__cv__item:nth-of-type(2) {
    width: 167px;
}
.header__cv__txt {
    font-size: 12px;
    letter-spacing: 1px;
}
.header__cv__txt span {
    font-size: 10px;
	}
.header__cv__item::after {
    right: 15px;
    width: 5px;
    height: 5px;
}
}



body {
	padding-top: 76px;
}

.pc-none {
	display: none !important;
}

.sp-none {
	display: block !important;
}



/* Font
------------------------------------------------------------------------ */
.f-josefin,
.heading span:last-child {
	font-family: 'Josefin Sans', sans-serif;
}

.f-28,
.heading span:first-child {
	font-size: 2.8rem;
}

.f-64,
.heading span:last-child {
	font-size: 6.4rem;
}

.ls-020,
.heading span:last-child {
	letter-spacing: .2rem;
}

h1, h2, h3, h4, h5 {
	line-height: 1.5;
}


.clr-ini,
#gnav a,
body.download #gfooter p,
body.contact #gfooter p,
body.booking #gfooter p {color: #333;}

.clr-theme,
.heading span:first-child {
	color: #00A3FF;
}

.clr-white,
footer a, footer p {
	color: #fff;
}

.clr-light-gray,
.heading span:last-child {
	color: #EBEBEB;
}

.break {
	word-break: break-all;
}

table.company td {
	padding: 0;
	border: 0;
}

table.company td:first-child {
	font-weight: bold;
}


/* Common
------------------------------------------------------------------------ */
a {
	color: #00A3FF;
}

::selection {
	background: #333;
	color: #fff;
}

a {
	transition: all .25s;
}

a:hover {
	opacity: .75;
}

.contents {
	padding: 90px 0 0;
}

.inner {
	max-width: 1030px;
	margin: 0 auto;
	padding: 0 40px;
}

.heading {
	display: flex;
	flex-direction: column-reverse;
	line-height: 1;
}

.heading span {
	display: block;
}

.heading span:first-child {
	margin: 0 0 0 5px;
	font-weight: bold;
}

.form-wrap {
	padding: 50px;
	box-shadow: 0px 18px 50px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
}


#floating {
	display: none;
	opacity: 0;
	position: fixed;
	bottom: 0;
	right: 16px;
	z-index: 5;
	transition: all .25s ease-out;
}

#floating a {
	padding: 8px;
}

#floating.on {
	opacity: 1;
	bottom: 20px;
}

#floating .btn-cv {
	box-shadow: 0 0 35px rgba(0,0,0,.3);
}




/* Button, Link
------------------------------------------------------------------------ */
.icon-link {
	display: inline-block;
	height: 32px;
	line-height: 32px;
	padding: 0 48px 0 0;
	background: url(/img/icon-link.svg) 100% 50% no-repeat;
}

.btn {
	box-sizing: border-box;
	padding: 6px 24px;
	background: #00A3FF;
	border-radius: 50px;
	box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.15);
	font-weight: bold;
	text-align: center;
	transform: scale(1);
	transition: all .15s ease-out;
}

.btn:hover {
	opacity: 1;
	box-shadow: 0px 6px 24px rgb(0 0 0 / 28%);
	transform: scale(1.04);
	background: #0082CC;
}
.btn-o {
	box-sizing: border-box;
	padding: 10px 50px;
	background: #FFA800;
	text-decoration: none;
	border-radius: 50px;
	box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.15);
	font-weight: bold;
	text-align: center;
	color: #fff;
	transform: scale(1);
	transition: all .15s ease-out;
}

.btn-o:hover {
	opacity: 1;
	box-shadow: 0px 6px 24px rgb(0 0 0 / 28%);
	transform: scale(1.04);
	background: #EA9A00;
}
.btn-back {
	padding-left: 40px;
	background: #333 url(/img/home_black_24dp.svg) no-repeat 20px 50%;
	background-size: 18px;
}




/* Header Footer
------------------------------------------------------------------------ */
#gheader {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 10;
	background: rgba(255,255,255,.96);
	/*backdrop-filter: blur(10px); bug? SPのheight 100%が無効になる */
}

#gheader > .flex-12 {
	height: 76px;
	align-items: center;
}

#gheader > .flex-12 > #siteid {
}

#gheader > .flex-12 > nav {
	flex: 1;
}

#gheader > .flex-12 > .dl {
	width: 24%;
	margin-left: 2.8%;
}

#gheader > .flex-12 > .dl a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 28px 0;
	background: #00A3FF url(/img/arrow-01.svg) no-repeat 90% 50%;
	border-radius: 0 0 8px 8px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	line-height: 1.3;
}

#gnav ul {
	text-align: right;
}

#gnav li {
	display: inline;
	position: relative;
	font-weight: bold;
}

#gnav li:nth-child(n+2) {
	margin-left: 3.8% 
}

#gnav li:after {
	content: "";
	display: none;
	width: 24px;
	height: 2px;
	position: absolute;
	left: 50%;
	bottom: -12px;
	margin-left: -12px;
	background: #00A3FF;
}

.news #gnav li:nth-child(1):after,
.case #gnav li:nth-child(2):after,
.seminar #gnav li:nth-child(3):after,
.documents #gnav li:nth-child(4):after,
.contact #gnav li:nth-child(5):after {
	display: block;
}

#gnav a, #gfooter a {
	text-decoration: none;
}

/* Closing
------------------------------------ */
.closing {
	margin: 80px 0 0;
	padding: 80px 0;
}

.closing .btn {
	width: 164px;
}

.closing .flex-12 {
	max-width: 810px;
	margin: 0 auto;
}

.closing .col-4 {
	width: 33.3333%;
	margin: 0;
}

.closing .col-4:nth-child(n+2) {
	box-shadow: -1px 0 0 #E0E0E0;
}

/* Footer
------------------------------------ */
#gfooter {
	padding: 100px 0;
	 background: #00A3FF
}

#gfooter .flex-12 {
	flex-direction: row-reverse;
}

#gfooter .col-8 .flex-12 {
	flex-direction: row;
	justify-content: flex-start;
}

#gfooter .col-4 {
	text-align: right;
}

#gfooter .col-4 .flex-12 {
	flex-direction: row;
	justify-content: flex-end;
}

#gfooter .col-4 .flex-12 .col-2 {
	min-width: 44px;
	margin-left: 10px;
}



/* Home
------------------------------------------------------------------------ */
.home section {
	padding: 80px 0;
}

.home .introduce, .home .achievements, .home .works, .home .works, .home .news, .closing {
	border-top: 1px solid #E0E0E0;
}

.home .closing {
	margin-top: 0;
}



/* FV
------------------------------------ */
.home .fv {
	display: flex;
	align-items: center;
	height: 624px;
	padding: 0;
	background-repeat: no-repeat;
	background-position: calc(50% + 410px) 50%;
	background-image: url(/img/fv.jpg);
	background-image: -webkit-image-set(/img/fv.jpg) 1x, url(/img/fv@2x.jpg) 2x);
	background-image: image-set(url(/img/fv.jpg) 1x, url(/img/fv@2x.jpg) 2x);
}

.home .fv .inner {
	width: 100%;
	padding: 0 40px 0 70px;
}

.home .fv h1 span {
	padding: 8px;
	background: #fff;
}

.home .fv h1 + p {
	margin: 16px 0 27px;
}

.btn-cv {
	display: inline-flex;
	align-items: center;
	padding: 9px 85px;
}

.btn-cv span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	margin-right: 18px;
	border: 1px solid #fff;
	border-radius: 50%;
	transform: rotate(-8deg);
}




/* Introduce
------------------------------------ */
.home .introduce li {
	padding: 0 20px;
}

.home .introduce img {
}



/* About
------------------------------------ */
.home .about, .home .award {
	padding: 0;
	background-image: url(/img/about-bg.jpg);
	background-image: -webkit-image-set(/img/about-bg.jpg) 1x, url(/img/about-bg@2x.jpg) 2x);
	background-image: image-set(url(/img/about-bg.jpg) 1x, url(/img/about-bg@2x.jpg) 2x);
	background-size: cover;
}

.home .about .inner, .home .award .inner {
	padding: 80px 40px;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 8%, rgba(255,255,255,0.7) 92%, rgba(255,255,255,0) 100%);
}

.home .about .flex {
	justify-content: center;
	margin: 24px 0 16px;
	background: url(../img/arrow-02.svg) no-repeat 50% 100%;
}

.home .about .flex > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 346px;
	height: 346px;
	border: 1px solid #00A3FF;
	border-radius: 50%;
}

.home .about .flex > div:nth-child(1) {
	margin-right: -8px;
}

.home .about .flex > div:nth-child(2) {
	margin-left: -8px;
}

.home .about h2 {
	margin: 0 0 16px;
}



/* Point
------------------------------------ */
.home .point-element {
	box-sizing: border-box;
	max-width: calc(100% - (50% - 490px + 340px));/* 100% - (50% - 980 / 2 + (980 - 640)) */
	width: calc(100% - 40px);/* 100% - Windowとの余白(なければ0) */
}

.home .point-element-shadow {
	margin: 50px 0 0;
	box-shadow: 0px 18px 50px rgba(0, 0, 0, 0.1);
}

.home .point-element-text {
	margin: 100px 0 0;
}

.home .point-element-text:nth-child(2) {
	margin: 80px 0 0;
}

.home .point-element-left {
	margin-right: auto;
	padding: 0 0 0 calc(50% - 490px - 40px);
	border-left: solid transparent calc(40px);
}

.home .point-element-right {
	margin-left: auto;
	padding: 0 calc(50% - 490px - 40px) 0 0;
	border-right: solid transparent calc(40px);
}

.home .point .col-2 {
	width: 64px;
	height: 64px;
	position: relative;
	top: 10px;
	left: 10px;
	background: #fff;
	border-radius: 32px;
	box-shadow: 2px 5px 20px rgba(0, 0, 0, 0.5);
	text-align: center;
	line-height: 68px;
}
.home .point-element-right .col-2 {
	left: -10px;
}

.home .point .col-2:after {
	content: "";
	display: block;
	width: 84px;
	height: 84px;
	position: absolute;
	top: -10px;
	left: -10px;
	background: #00A3FF;
	border-radius: 42px;
	z-index: -1;
}



/* Achievements
------------------------------------ */
.home .achievements h1 + .flex-12 {
	align-items: flex-start;
	justify-content: space-around;
}

.home .achievements .case {
	box-sizing: border-box;
	width: calc(25% - 1px);
	min-width: 215px;
	margin-right: 1px;
	padding: 25px;
	box-shadow: 0 18px 50px rgba(0,0,0,.1);
}

.home .achievements .case:last-child {
	margin-right: 0;
}

.home .achievements .case:nth-child(odd) {
	margin-top: 40px;
}

.home .achievements header {
	margin: -25px -25px 25px;
	padding: 25px;
}

.home .achievements .case:nth-child(odd) header {
	background: #00A3FF;
}

.home .achievements .case:nth-child(even) header {
	background: #006299;
}

.home .achievements header span {
	display: inline-block;
	margin: 0 0 8px;
	padding: 3px 3px 2px;
	background: #fff;
	border-radius: 3px;
}

.home .achievements .case:nth-child(odd) header span {
	color: #00A3FF;
}

.home .achievements .case:nth-child(even) header span {
	color: #006299;
}

.home .achievements ul.flex-12 {
	justify-content: space-around
}

.home .achievements li {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 61px;
	height: 61px;
	background: #F5F5F5;
	border-radius: 50px;
}



/* Works
------------------------------------ */
.home section.works {
	padding-bottom: 0;
}

.home .works .slider {
	overflow: visible;
	background-image: url(/img/works-bg.jpg);
	background-image: -webkit-image-set(/img/works-bg.jpg) 1x, url(/img/works-bg@2x.jpg) 2x);
	background-image: image-set(url(/img/works-bg.jpg) 1x, url(/img/works-bg@2x.jpg) 2x);
	background-size: cover;
}

.home .works .slider li {
	padding: 80px 20px 92px;
}

.home .works img {
	box-shadow: 0px 18px 50px rgba(0, 0, 0, .1);
}





/* Award
------------------------------------ */
.home .award .inner.flex-12 {
	position: relative;
	align-items: center;
}

.home .award .inner.flex-12:after {
	content: "";
	display: block;
	width: 6px;
	height: 290px;
	position: absolute;
	left: calc(50% - 4px);
	background: #00A3FF;
	transform: skewX(35.4deg);
}

.home .award .col-6 {
	width: 50%;
	position: relative;
	z-index: 1;
}

.home .award .text p {
	max-width: 420px;
	margin: 40px 0 0 40px;
}

.home .award .icon ul {
	width: 308px;
	margin: 25px 0 0 13.469387755%;
}

.home .award .icon ul + ul {
	margin: 23px 0 0 auto;
}

.home .award li {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 136px;
	height: 149px;
	background: url(/img/icon-award.svg);
}

.home .award li > span {
	margin-top: -32px;
}



/* FAQ
------------------------------------ */
.home .faq .col-4 {
	width: 28.571428571%;
}



/* News
------------------------------------ */
.home .news dl,
body.news .contents .news-list {
	border-top: 1px solid #E0E0E0;
}

.home .news dt, .home .news dd,
body.news .contents .news-list dt, body.news .contents .news-list dd {
	margin: 0;
	padding: 24px 0;
	border-bottom: 1px solid #E0E0E0;
}

.home .news dt,
body.news .contents .news-list dt {
	width: 16%;
}

.home .news dd,
body.news .contents .news-list dd {
	width: 84%;
}

.home .news a,
body.news .contents .news-list a {
	color: #333;
	text-decoration: none;
}



/* News
------------------------------------------------------------------------ */
.news.detail .contents, .seminar.detail .contents {
	max-width: 840px;
	margin: 0 auto;
}

.news.detail .contents .date {
	display: inline-block;
	margin: 16px 0 80px;
	padding: 0 0 32px;
	border-bottom: 2px solid #00A3FF;
}

.news.detail .contents img {
	max-width: 100%;
	height: auto;
	margin: 100px 0;
}

.news.detail  dl.company dt,
.news.detail  dl.company dd {
	margin-top: 0;
}



/* Case
------------------------------------------------------------------------ */
body.case .case-list > div {
	padding: 50px 0;
	border-bottom: 1px solid #E0E0E0;
}

body.case .case-list > div:last-child {
	border-bottom: 0;
}

body.case .case-list .col-3 {
	width: 240px;
}

body.case .case-list .col-9 {
	box-sizing: border-box;
	width: calc(100% - 240px);
	padding-right: 62px;
	background: url(/img/icon-link.svg) 100% 50% no-repeat;
}

body.case .no {
	width: 68px;
	height: 46px;
	position: relative;
}

body.case .no span {
	display: block;
	position: absolute;
}

body.case .no span:first-child {
	top: 0;
	left: 0;
}

body.case .no span:first-child:after {
	content: "";
	display: block;
	width: 2px;
	height: 46px;
	position: absolute;
	top: 0;
	left: calc(50% + 14px);
	background: #00A3FF;
	transform: skewX(-45deg);
}

body.case .no span:last-child {
	bottom: 0;
	right: 0;
}



/* Case Detail
------------------------------------ */
.case.detail .contents {
	max-width: 840px;
	margin: 0 auto;
}

.case.detail .contents header .col-3 {
	width: 240px;
}

.case.detail .contents header .col-9 {
	box-sizing: border-box;
	width: calc(100% - 240px);
}

.case.detail .contents dl {
	padding-left: 70px;
}

.case.detail .contents dt {
	margin: 100px 0 0;
	position: relative;
	font-size: 1.8rem;
}

.case.detail .contents dt:after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	position: absolute;
	top: 15px;
	left: -70px;
	background: #00A3FF;
}

.case.detail .contents dd {
	margin: 40px 0 0;
}



/* Seminar
------------------------------------------------------------------------ */
body.seminar:not(.detail) .contents a {
	display: block;
}

body.seminar h1 + .portrait-list {
	padding: 0 0 80px;
	border-bottom: 1px solid #E0E0E0;
}

/* 最後の行を左寄せ(3列並びまで有効) */
.portrait-list:after {
	content: "";
	display: block;
	width: 300px;
	height: 0;
}

body.seminar h1 + .portrait-list + h2 {
	position: relative;
	padding-bottom: 50px;
}

body.seminar h1 + .portrait-list + h2:after {
	content: "";
	display: block;
	width: 70px;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #00A3FF;
}

.portrait-list .col-4 {
	display: block;
	width: 300px;
	margin: 80px 0 0;
	text-decoration: none;
}



/* Seminar Detail
------------------------------------ */
body.seminar table tr {
	border: 1px solid #E0E0E0;
	border-width: 1px 0;
}

body.seminar th, body.seminar td {
	padding: 24px 0;
	border: 0;
}

body.seminar th {
	white-space: nowrap;
}

body.seminar td {
	width: 73.684210526%;
}

body.seminar .media-list-l > div:last-child {
	padding-left: 4.2%;
}



/* Documents
------------------------------------------------------------------------ */
body.documents .portrait-list .inner {
	height: 320px;
	padding: 30px 30px 70px;
	position: relative;
	background: #F6F6F6;
}

body.documents .portrait-list .btn {
	width: 144px;
	position: absolute;
	left: calc(50% - 72px);
	bottom: 30px;
}

/* Download
------------------------------------ */
body.download .inner .flex-12 {
	margin: 80px 0;
}

body.download .inner .col-5 {
	width: 35.918367347%;
}

body.download .inner .col-7 {
	width: 53.87755102%;
}

body.download #gfooter,
body.contact #gfooter,
body.booking #gfooter {
	padding: 0 0 40px;
	background: none;
}




/* Contact
------------------------------------------------------------------------ */
body.contact .form-wrap,
body.booking .form-wrap {
	max-width: 760px;
	margin: 80px auto 103px;
	padding: 0;
	box-shadow: none;
}



/* Company
------------------------------------------------------------------------ */
body.company table {
	max-width: 760px;
	margin: 0 auto;
}

body.company tr {
	border: 1px solid #E0E0E0;
	border-width: 1px 0;
}

body.company tr:first-child {
	border-top: 0;
}

body.company tr:last-child {
	border-bottom: 0;
}

body.company th, body.company td {
	padding: 24px 0;
	border: 0;
}

body.company td {
	width: 73.684210526%;
}



/* Terms
------------------------------------------------------------------------ */




/* Booking
------------------------------------------------------------------------ */




/* 404
------------------------------------------------------------------------ */
body.notfound {
	padding: 0;
	background: #00A3FF;
}

body.notfound .top,
body.notfound .bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 75%;
}

body.notfound .bottom {
	height: 25%;
}


body.notfound h1 {
	font-size: 17.8rem;
}

body.notfound .btn {
	background: #fff;
	color: #00A3FF;
	box-shadow: none;
}

body.notfound ul li {
	display: inline;
	padding: 0 20px;
}

body.notfound ul a {
	color: #fff;
	text-decoration: none;
}














/* SP
------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
	body {
		padding-top: 52px;
	}
	
	.pc-none {
		display: block !important;
	}
	
	.sp-none {
		display: none !important;
	}
	
	.contents {
		padding: 60px 0 0;
	}
	
	.inner {
		padding: 0 26px;
	}
	
	.media-br br {
		display: none;
	}
	
	.heading span:first-child {
		font-size: 2.4rem;
	}
	
	.heading span:last-child {
		font-size: 3.8rem;
		letter-spacing: 0;
	}
	
	h2.f-32 {
		font-size: 2.4rem;
	}
	
	h2.f-30 {
		font-size: 2.2rem;
	}
	
	#floating {
		display: block;
	}
	
	
	
	/* Header Footer
	------------------------------------------------------------------------ */
	#gheader .inner {
		height: 52px;
		padding: 0 26px;
		flex-wrap: nowrap;
	}
	
	#gheader > .flex-12 > #siteid {
		order: 1;
	}
	
	#gheader > .flex-12 > #gnav {
		order: 3;
	}
	
	#gheader > .flex-12 > .dl {
		display: none;
		order: 2;
		flex: 1;
		max-width: 115px;
		margin: 0 39px 0 0;
	}
	
	#gheader > .flex-12 > .dl a {
		height: 52px;
		padding: 0 20px;
		background-position: 94.5% 50%;
		font-size: 1.2rem;
		white-space: nowrap;
	}
	
	#gnav {
		width: 100%;
		height: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		background: rgba(0,0,20,.8);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		transition: height .25s ease-out;
	}
	
	#gnav.on {
		height: 100%;
	}
	
	#gnav > div {
		width: 34px;
		height: 34px;
		position: absolute;
		top: 8px;
		right: 15px;
		z-index: 1000;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	
	#gnav > div > p {
		width: 44px;
		position: absolute;
		left: -5px;
		bottom: -4px;
		white-space: nowrap;
	}
	
	#gnav > div:before, #gnav > div:after {
		content: "";
		display: block;
		width: 34px;
		height: 1px;
		position: absolute;
		background: #333;
		transition: all .25s ease-out;
	}
	
	#gnav > div:before {
		left: 0;
		top: 4px;
	}
	
	#gnav.on > div:before {
		background: #fff;
		transform: rotate(45deg) translate(4px, 5px);
		transform-origin: 50% 50%;
	}
	
	#gnav > div:after {
		left: 0;
		bottom: 16px;
	}
	
	#gnav.on > div:after {
		background: #fff;
		transform: rotate(-45deg) translate(4px, -5px);
		transform-origin: 50% 50%;
	}
	
	#gnav ul {
		display: flex;
		flex-direction: column;
		align-content: center;
		justify-content: center;
		overflow: hidden;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		text-align: center;
		opacity: 0;
		transition: all .25s ease-out;
	}
	
	#gnav.on ul {
		opacity: 1;
		margin: 0;
	}
	
	#gnav li:nth-child(n+2) {
		margin: 28px 0 0;
	}
	
	#gnav a {
		color: #fff;
	}
	
	/* Closing
	------------------------------------ */
	.closing {
		padding: 80px 0;
	}
	
	.closing .mt-80 {
		margin-top: 10px !important;
	}
	
	.closing .mt-26 {
		margin-top: 16px !important;
	}
	
	.closing .mt-22 {
		margin-top: 12px !important;
	}
	
	.closing .col-4 {
		width: 100%;
		padding: 30px 0;
	}
	
	.closing .col-4:nth-child(n+2) {
		box-shadow: 0 -1px 0 #e0e0e0;
	}
	
	/* Footer
	------------------------------------ */
	#gfooter {
		padding: 50px 0;
	}
	
	#gfooter > .flex-12 {
		flex-direction: column;
	}
	
	#gfooter > .flex-12 > div {
		width: 100%;
	}
	
	#gfooter .col-4 {
		text-align: left;
	}
	
	#gfooter .col-4 p img {
		width: 160px;
	}
	
	#gfooter .col-4 .flex-12 {
		justify-content: flex-start;
		margin: 14px 0 50px !important;
	}
	
	#gfooter .col-4 .flex-12 .col-2 {
		margin: 0 6px 0 0;
	}
	
	#gfooter .col-4 .flex-12 .col-2 img {
		width: 40px;
	}
	
	#gfooter .col-8 .col-3 {
		width: 50%;
	}
	
	#gfooter .mt-56 {
		margin-top: 50px !important;
	}
	
	#gfooter .mt-56 img {
		width: 140px;
	}
		
	
	
	/* Home
	------------------------------------------------------------------------ */
	.home section {
		padding: 50px 0;
	}
	
	
	
	/* FV
	------------------------------------ */
	.home .fv {
		display: block;
		height: auto;
		padding: 318px 0 32px;
		background-position: calc(50% - 14px) 0;
		background-size: auto 400px;
	}
	
	.home .fv .inner {
		box-sizing: border-box;
		padding: 0 36px;
	}
	
	.home .fv .f-64 {
		font-size: 3.2rem;
		line-height: 1.75;
	}
	
	.home .fv h1 + p {
		font-size: 1.3rem;
	}
	
	.btn-cv {
		box-sizing: border-box;
		width: 100%;
		padding: 8px 0;
	}
	
	.btn-cv.f-28 {
		justify-content: center;
		font-size: 1.8rem;
		letter-spacing: .25rem;
	}
	
	.btn-cv span {
		width: 45px;
		height: 45px;
		margin-right: 8px;
		border-width: 2px;
		font-size: 1rem;
	}
	
	
	
	/* Introduce
	------------------------------------ */
	.home .introduce .pc-none li {
		padding: 0 24px 0 0;
	}
	
	.home .introduce .pc-none + .pc-none li {
		padding: 0 0 0 32px;
	}
	
	
	
	/* About
	------------------------------------ */
	.home .about .inner {
		padding: 50px 26px;
	}
	
	.home .about .flex {
		flex-direction: column;
		align-items: center;
		margin: 32px -26px 16px;
		padding-bottom: calc(25px + 8.533333333vw);
	}
	
	.home .about .flex > div {
		width: 92vw;
		height: 92vw;
	}
	
	.home .about .flex > div:nth-child(1) {
		margin: 0 0 -11.466666667vw;
	}
	
	.home .about .flex > div:nth-child(2) {
		margin: 0;
	}
	
	.home .about .f-24 {
		font-size: 2rem;
	}
	
	.home .about .f-40 {
		font-size: 2.8rem;
	}
	
	
	
	/* Point
	------------------------------------ */
	.home .point .inner {
		padding-bottom: 0;
	}
	
	.home .point .point-element {
		width: 100%;
		max-width: none;
		margin: 50px 0 0;
		padding: 0 26px;
		border: 0;
	}
	
	.home .point .point-element-shadow {
		margin-bottom: 70px;
	}
	
	.home .point .point-element-shadow:last-child {
		margin-bottom: 0;
	}
	
	.home .point .col-2 {
		width: 44px;
		height: 44px;
		margin: 0 0 50px 0;
		top: 6px;
		left: 6px;
		line-height: 48px;
		font-size: 2.8rem;
		letter-spacing: .1rem;
	}
	
	.home .point-element-right .col-2 {
		left: -6px;
	}
	
	.home .point .col-2:after {
		width: 56px;
		height: 56px;
		top: -6px;
		left: -6px;
	}
	
	.home .point .point-element .col-10 {
		width: calc(100% - 76px);
	}
	
	.home .point .point-element-shadow {
		
		box-shadow: none;
	}
	
	.home .point .point-element-shadow img {
		 box-shadow: 0px 9px 25px rgb(0,0,0,.2);
	}
	
	
	
	/* Achievements
	------------------------------------ */
	.home .achievements .mt-100 {
		margin-top: 50px !important;
	}
	
	.home .achievements .case {
		width: 100%;
		min-width: none;
	}
	
	.home .achievements .case:nth-child(odd) {
		margin: 0 0 0 -15px;
	}
	
	.home .achievements .case:nth-child(even) {
		margin: 0 -15px 0 0;
	}
	
	.home .achievements .case:nth-child(n+2) {
		margin-top: 2px;
	}
	
	
	
	/* Award
	------------------------------------ */
	.home .award .col-6 {
		width: 100%;
	}
	
	.home .award .icon ul, .home .award .icon ul + ul {
		margin: 0;
	}
	
	.home .award .inner.flex-12:after {
		display: none;
	}
	
	.home .award .text p {
		max-width: none;
		margin: 50px 0 50px;
		font-size: 2rem;
	}
	
	.home .award .icon ul {
		justify-content: space-around;
		width: 100%;
	}
	
	.home .award .icon ul + ul {
		margin-top: 20px;
	}
	
	
	
	/* FAQ
	------------------------------------ */
	.home .faq .mt-100 {
		margin-top: 0 !important;
	}
	
	.home .faq .mt-40 {
		margin-top: 30px !important;
	}
	
	.home .faq .mt-30 {
		margin-top: 25px !important;
	}
	
	.home .faq .col-4 {
		width: 100%;
		margin-top: 50px ;
	}
	
	
	
	/* News
	------------------------------------ */
	.home .news dt, .home .news dd,
	body.news .contents .news-list dt, body.news .contents .news-list dd {
		width: 100%;
	}
	
	.home .news dt,
	body.news .contents .news-list dt {
		padding: 20px 0 0;
		border-bottom: 0;
		font-size: 1.4rem;
	}
	
	.home .news dd,
	body.news .contents .news-list dd {
		padding: 0 0 20px;
		border-top: 0;
	}
	
	
	
	/* Closing
	------------------------------------ */
	.closing h1 {
		font-size: 2.1rem;
	}
	
	
	
	/* Case
	------------------------------------------------------------------------ */
	body.case .case-list > div {
		padding: 25px 0;
	}
	
	body.case .case-list .col-3,
	body.case.detail .contents .col-3 {
		width: 87px;
	}
	
	body.case .case-list .col-3 img,
	body.case.detail .contents .col-3 img {
		width: 72px;
		height: 72px;
	}
	
	body.case .case-list .col-9,
	body.case.detail .contents .col-9 {
		width: calc(100% - 87px);
		padding-right: 30px;
		background-size: 24px;
	}
	
	body.case .case-list .no,
	body.case.detail .contents .no {
		width: 66px;
		height: 18px;
	}
	
	
	body.case .case-list .no .f-12,
	body.case.detail .contents .no .f-12 {
		font-size: 1.1rem;
	}
	
	body.case .case-list .no .f-30,
	body.case.detail .contents .no .f-30 {
		font-size: 2.2rem;
	}
	
	body.case .no span:first-child:after,
	body.case.detail .contents .no span:first-child:after {
		height: 18px;
		left: 32px;
	}
	
	body.case .case-list .col-9 .mt-30,
	body.case.detail .contents header .mt-30 {
		margin-top: 8px !important;
	}
	
	body.case .case-list .col-9 .f-30 {
		font-size: 2rem;
	}
	
	body.case .case-list .col-9 h2 + p,
	body.case.detail .contents .col-9 h2 + p {
		margin-top: 3px !important;
		font-size: 1.2rem;
	}
	
	/* Detail
	------------------------------------ */
	body.case.detail .contents .col-9 {
		padding: 0;
	}
	
	body.case.detail .contents dt {
		margin: 80px 0 0;
	}
	
	
	
	
	/* Documents
	------------------------------------------------------------------------ */
	body.download .contents .flex-12 {
		flex-direction: column-reverse;
	}
	
	body.download .contents .flex-12 > div {
		width: 100%;
	}
	
	body.download .contents .flex-12 > div + div {
		margin-bottom: 80px;
	}
	
	body.download .contents .form-wrap {
		padding: 25px;
	}
	
	
	
	/* Seminar, Documents
	------------------------------------------------------------------------ */
	.portrait-list .col-4, .portrait-list .col-4 img {
		width: 100%;
		height: auto;
	}
	
	/* Detail
	------------------------------------ */
	body.seminar.detail .contents .f-32 {
		font-size: 2.4rem;
	}
	
	body.seminar.detail .contents .f-24 {
		font-size: 2.2rem;
	}
	
	body.seminar.detail .contents .f-20 {
		font-size: 1.8rem;
	}
	
	body.seminar td {
		width: 60%;
	}
	
	body.seminar .contents .media-list-l img {
		width: 72px;
		height: auto;
	}
	
	body.seminar .media-list-l > div:last-child {
		padding-left: 18px;
	}
	
	
	
	/* Company
	------------------------------------------------------------------------ */
	body.company td {
		width: 66%;
	}
	
	
	
	/* Booking
	------------------------------------------------------------------------ */
	body.booking .contents .f-24 {
		font-size: 2rem;
	}
	
	
}





/* 参考 */
.btn- {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 260px;
	height: 60px;
	margin: 0 auto;
	padding: 0 0 0 70px;
	position: relative;
	text-align: center;
	line-height: 1;
	background: #DA0015;
	border-radius: 100px;
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
	transition: all 0.4s ease-out;
}

.btn-:hover {
	opacity: 1;
	color: rgba(255,255,255,.9);
	background: #8c000e;
}
.logo {
	padding-left: 6px;
	opacity: 0;
	animation: logo .3s ease-out .5s forwards;
}

@keyframes logo {
	0% {
		opacity: 0;
	}
	100% {
		padding-left: 0;
		opacity: 1;
	}
}

.line-01, .line-02, .line-03 {
	display: block;
	opacity: 0;
}

.line-01 {
	animation: line-01 .3s ease-out .7s forwards;
}

.line-02 {
	animation: line-02 .3s ease-out .85s forwards;
}


@keyframes line-01 {
	0% {
		transform: translateY(10px);
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes line-02 {
	0% {
		transform: translateY(10px);
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


/* //参考 */


/* slick */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* slick theme*/

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

/* Custom */
.slick-slide div {
}
.slider li {
    outline: none;
}

.slider img {
}

@media screen and (min-width: 768px) {
	.slider img {
	}
}



/* case_0405
------------------------------------------------------------------------ */
.case_page .container {
	width: 100%;
	margin-right: auto;
	margin-left: auto
}

.case_page .container-fluid {
	width: 100%;
	margin-right: auto;
	margin-left: auto
}

.case_page .row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px
}

.case_page .col-md-6,.case_page .col-lg-3,.case_page .col-lg-4 {
	position: relative;
	width: 100%;
}

@media(min-width:769px) {
	.case_page .col-md-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%
	}

}

@media(min-width:992px) {

	.case_page .col-lg-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%
	}

	.case_page .col-lg-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%
	}
}
.case_content{
box-shadow: 0px 0px 28px rgba(0, 0, 0, 0.05);
}
.case_content .case_information ul li{
	font-size: 12px;
	letter-spacing: 0px;
}
.case_content .case_img{
	width: 100%;
}
.case_content .case_img img{
	width: 100%;
	height: auto;
	border-radius: 6px 6px 0 0;
}
.case_information{
	background: #F6F6F6;
	padding: 30px 20px;
	border-radius: 0 0 10px 10px;

}
.case_item{
border-bottom: none!important;
padding: 20px 15px;
}
.case_content:hover{
box-shadow: 0px 30px 40px rgba(0, 0, 0, 0.1)!important;
	border-radius:10px;
	}
.case-list .case_content {
    border-radius:10px;
}
.case_list_area a{
	text-decoration: none;	
}
.case_information p{
	font-size: 14px;
}
.case_information h2{
	font-size: 18px;
	height: 85px;
    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
  overflow: hidden;
}
.c_blue{
	color: #006299;
}
@media screen and (max-width: 768px) {
.case_information h2{
	height: auto;
}
body.documents .portrait-list .inner {
	height: fit-content;
}
.b_768{
	display: block!important;
}
#gnav li {
    font-size: 5vw;
}
}