@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.cdnfonts.com/css/campton');

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

a{
	text-decoration: none;
	font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Osaka－等幅", "Hiragino Sans", "メイリオ";
	letter-spacing: 0.12em;
}

/*カーソル用の記述*/
html,
body,
a,
input.contact_form_btn {
  cursor: none;
}

/*独自のマウスカーソルを作成*/
.cursor {
  position: fixed;
  top: -5px;
  left: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  transition: width 0.5s, height 0.5s, top 0.5s, left 0.5s;
  transform: translate(0, 0);
  pointer-events: none;
}

/*aタグにホバーした時に見た目変化*/
.cursor.cursor--hover {
  top: -30px;
  left: -30px;
  width: 50px;
  height: 50px;
  background-color: #24749B;
	opacity: 0.7;
}

/*フォント*/

/* Webフォントを定義 */
@font-face {
  font-family: 'Callifornia';/* フォント名 */
  src:  url("../font/Callifornia.otf")format('opentype');
}

p{
	font-size:16px;
	font-weight: 400;
	line-height:2.0;
	letter-spacing: 0.12em;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴシック','Hiragino Sans','メイリオ', 'Meiryo,YuGothic', 'Yu Gothic', sans-serif;
	color: #3B4043;
}

dt,dl,dd {
	font-family: 'Noto Sans JP', sans-serif;
	line-height:2.0;
	letter-spacing: 0.12em;
	color: #3B4043;
}

h2 {
	font-weight: 600;
    letter-spacing: 0.12em;
	font-size: 36px;
}

h2.japanese_title {
	font-size: 20px;
	color: #0284C3;
	text-align: left;
}

p.main_title {
    color: #0284C3;
    font-weight: 600;
    position: relative;
    font-family: "Campton", sans-serif;
	font-size: 35px;
}

p.main_title::before {
    content: '';
    position: absolute;
    left: 29px;
    bottom: -15px;
    display: inline-block;
    width: 50px;
    height: 5px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #0284C3;
}

.center_title {
    text-align: center;
    padding: 50px 0;
}

.center_title h2 {
    color: #fff;
    font-size: 50px;
    sition: relative;
    font-family: "Campton", sans-serif;
    font-weight: 600;
    letter-spacing: 0.12em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn {
    margin: 0 auto;
    width: 260px;
    height: 48px;
	text-align: center;
	transition: all .3s;
}	

.btn a {
	background-color: #3B4043;
	color: #fff;
	font-size: 16px;
	font-family:'Noto Sans JP', sans-serif;
    font-weight: 600;
	letter-spacing: 0.12em;	
    position: relative;
	padding: 12px 56px 12px 32px;
    border-radius: 25px;
	transition: all 0.3s ease 0s;
	border: 2px solid #3B4043;
}

.btn a::before {
    content: '';
    position: absolute;
    display: inline-block;
    width: 16px;
	height: 16px;
    left: 86%;
    background-image: url(../images/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
	top: calc(50% - 8px);
	transition: all .3s;
}

.btn .l-ad a::before {
    content: '';
    position: absolute;
    display: inline-block;
    width: 16px;
    height: 16px;
    left: 86%;
    background-image: url(../images/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all .3s;
}


/*レイアウト*/

#service,#news {
	padding: 200px 0;
}

#blog,#about_us,#service,#news {
	overflow: hidden;
}


.wrapper{
	max-width: 1120px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.sp{
	display: none!important;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ホバーエフェクト■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

ul.nav li a  {
	position: relative;
	display: inline-block;
	transition: all 0.3s ease 0s;
}

ul.nav li a::after {
	position: absolute;
	bottom: -8px;
	left: 0%;
	content: '';
	width: 0;
	height: 3px;
	background-color:#2EA5E0;
	transition: all 0.3s ease 0s;
}

ul.nav li .btn_contact a::after {
	display: none;
}
 
ul.nav li .btn_contact a::before {
	display: none;
}

ul.nav li a:hover::after {
	width: 100%;
}

header ul.nav li a:hover{
	color:#2EA5E0;
}

ul.nav.pc li .btn_contact a:hover {
    background-color: #2EA5E0;
    color: #fff;
    border: 2px solid #2EA5E0;
    border-radius: 25px;
    padding: 10px 32px;
}

ul.nav.pc li .only_cantact_page a:hover {
	color: #2EA5E0;
	background-color: #fff;
	border: 2px solid #2EA5E0;
}

.btn a:hover {
	background-color: #fff;
	color: #3B4043;
	border: 2px solid #3B4043;
	border-radius: 25px;
}

.btn a:hover::before {
	background-image: url("../images/btn_arrow_blacksvg.svg");
	left: 88%;
}

.btn.about a:hover {
	background-color: #2EA5E0;
	color: #fff;
	border: 2px solid #fff;;
	border-radius: 25px;
}

.btn.about a:hover::before {
	background-image: url("../images/btn_arrow.svg");
}

#service_page .btn.l_ad a:hover::before {
	left: 86%;
}

#contact input.contact_form_btn:hover {
    background-color: #fff!important;
    color: #3B4043!important;
    border: 2px solid #3B4043;
    border-radius: 25px!important;
	transition: all 0.3s ease 0s;
}

.sns_contents a.instagram:hover, a.youtube:hover {
	opacity: 0.5;
}

#contact_top .contact_btn a:hover {
    background-color: #036EB8;
    color: #fff;
    border: 4px solid #036EB8;
    padding: 40px 0;
    border-radius: 5px;
}

#news .theme.news p.theme:hover::before{
    left: 5%;
}

#news .theme.news p.theme:hover::after {
	left: 7.9%;
}

#contact input.contact_form_btn:hover {
	background-color: #fff;
	color: #3B4043;
	border: 2px solid #3B4043;
	border-radius: 25px;
	padding: 11px 32px 12px 32px!important;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■各子ページ トップの共通部分■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#page_top_view{
    width: 100%;
}

/*ページタイトル部分*/

#page_title_container{
    width: 100%;
    height: 190px;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

p.background_blue_ttl {
    font-size: 160px;
    color: #EFFAFF;
    font-family: "Campton", sans-serif;
    text-align: center;
    font-weight: 800;
    margin-top: 166px;
    /* height: 150px; */
    letter-spacing: 0.5rem;
    margin-bottom: -146px;
}

#page_info_container .flex_bet_center{
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 220px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flex_start_center{
    margin: 0 auto;
    max-width: 1120px;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
}

.flex_start_center .line{
    width: 110px;
    height: 3px;
    background-color: #2EA5E0;
    left: 0px;
    bottom: -2px;
    position: absolute;
}

.flex_start_center p{
    text-align: center;
    font-family: 'Campton', sans-serif;
    font-weight: 700;
    font-size: 60px;
    margin-right: 30px;
}

.flex_start_center .common_sub_ttl{
    text-align: center;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #3B4043;
}

/*ページ説明部分*/ 

#page_info_container{
    width: 100%;
    position: relative;
	height: 910px;
}

#page_info_container .bg_txt {
	font-family: 'Campton', sans-serif;
    font-weight: 300;
    font-size: 150px;
    letter-spacing: -0.1rem;
    position: absolute;
    top: -70px;
    right: -10px;
    opacity: 0.2;
}

#page_info_container .bg_txt span{
    color: #2EA5E0;
}

.flex_bet_center{
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
	position: relative;
}

.page_info_txt{
    width: 45%;
}

.page_info_txt h2{
    color: #2EA5E0;
    margin-bottom: 5%;
    font-size: 40px;
}

.page_info_txt p{
    line-height: 2.5;
}

.page_info_img{
    width: 55%;
}

/*page main contents*/

.contents_area{
    width: 100%;
}

/*
.bg_word{
    color: #EFFAFF;
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 160px;
    letter-spacing: 0.5rem;
    position: absolute;
    top: -6.8%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
*/





/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■TOP■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*HEADER*/
header {
    width: 100%;
    padding: 0 5%;
    height: 11vh;
}

header nav {
	align-items: center;
     margin-top: 5px; 
     margin-bottom: 30px; 
    display: flex;
    justify-content: space-between;
}

#gnav {
    width: 70%;
}

header #logo_box {
    position: relative;
    width: 20%;
}

header #logo_box h1 {
	width: 200px;
}

/*
header #logo_box h1{
    position: absolute;
    left: -220%;
}
*/

header ul.nav.pc {
	display: flex;
	padding: 19px 0;
	list-style: none;
	align-items: center;
	column-gap: 5%;
	justify-content: flex-end;
	width: 100%;
}

header ul.nav.pc li {
    text-align: center;
    font-size: clamp(14px, 1vw, 15px);
/*    margin-left: 40px;*/
}

header ul.nav.pc li.sns_icon {
   margin-left: 40px;
}

header ul.nav.pc li.sns_icon a:after {
    display: none;
}

header ul.nav.pc li a {
    color: #3B4043;
    font-weight: 600;
    font-family: "Campton", sans-serif;
    letter-spacing: 0.12em;
	white-space: nowrap;
}

header ul.nav.pc li .btn_contact {
	cursor:pointer;
	border:none;
	position:relative;
	transition: all 0.3s ease 0s;
}

header ul.nav.pc li .btn_contact a {
    color: #fff;
    font-size: 15px;
    background-color: #3B4043;
    padding: 10px 32px;
    border-radius: 25px;
    border: 2px solid #3B4043;
}

header ul.nav.pc li .only_cantact_page a {
	background-color: #2EA5E0;
	border: 2px solid #2EA5E0;;
}


header ul.nav.pc li .btn_contact a::before {
	display: none;
}


header ul li img.instagram {
    height: 40px;
    width: 40px;
}

/*メインヴィジュアル*/

/*SVGの横幅*/
.svganimeblock{
	max-width:150px;
	width:100%;
}

/*SVGの可変*/
.svganimeblock svg{
	width:100%;
} 

.svg_wrap {
    width: 11%;
}

#top_visual {
    width: 100vw;
	height: 89vh;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
	position: relative;
}

section {
    width: 100vw;
}

#top_visual .main_title {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#top_visual p {
    font-size: calc(100vw / 14);
    font-family: "Campton", sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-right: 15px;
    line-height: 1.5em;
    display: grid;
}

/*
.main_theme .sub_title h1 {
    font-size: calc(100vw / 35);
    color: #3B4043;
    font-weight: 700;
    letter-spacing: 0.12em;
    display: inline-block;
    font-family: "Noto Sans Japanese", sans-serif;
}
*/

.main_theme .sub_title .top_headline {
    font-size: calc(100vw / 35)!important;
    color: #3B4043;
    font-weight: 700;
    letter-spacing: 0.12em;
    display: inline-block;
    font-family: "Noto Sans Japanese", sans-serif;
}

#top_visual h2 {
	color: #2EA5E0;
	display: inline-block;
    font-size: calc(100vw / 40);
    font-weight: 700;
    letter-spacing: 0.12em;
    font-family: "Noto Sans Japanese", sans-serif;
	margin-bottom: 24px;
}

#top_visual p.top_headline.pc {
    margin-top: 24px;
}

#top_visual .svglogo {
    width: 10%;
    margin-left: 24px;
}

#scrolldown_contents {
    width: 10px;
    height: 115px;
    position: absolute;
	right: 2%;
    bottom: 69px;
    z-index: 3;
}

#scrolldown__inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
}

div#scrolldown-text {
    font-size: 14px;
    font-family: "Campton", sans-serif;
    font-weight: 600;
    -ms-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    line-height: 1;
    position: relative;
    right: 2px;
    color: #2EA5E0;
    letter-spacing: 0.02em;
}

#scrolldown-arrow {
    width: 22px;
    position: absolute;
    left: -7px;
    bottom: -32px;
}


/*SNS*/
#sns_container {
	width: 100vw;
	background-color: #EFFAFF;
	height: auto;
	position: relative;
    z-index: 2;
}

.sns_contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 61px 0;
}

.sns_contents a.instagram, a.youtube {
    text-align: center;
    width: calc(100% / 2);
    color: #fff;
    font-size: 20px;
    padding: 25px 40px 25px 70px;
    border-radius: 10px;
    align-items: center;
    display: inline-block;
    transition: all 0.3s ease 0s;
    cursor: pointer;
    outline: none;
    position: relative;
}

.sns_contents a.instagram {
	background-color: #3B4043;
	margin-right: 20px;
}

.sns_contents a.instagram::before, .sns_contents a.youtube::before {
    content: '';
    position: absolute;    
    left: 33%;
    top: 30%;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
}

.sns_contents a.instagram::before {
	background-image: url("../images/instagram_icon.svg");
}

.sns_contents a.youtube::before {
	background-image: url("../images/youtube_icon.svg");
	width: 40px;
}



.sns_contents a.youtube {
	background-color: #FF1212;
}

.sns_contents img.icon {
    margin-right: 10px;
}

/*BLOG*/
#blog_contents {
    width: 100%;
    position: relative;
}

#blog_contents .background_blue {
    position: absolute;
    background-color: #EFFAFF;
    height: 190px;
    width: 100vw;
    z-index: -1;
    top: 61%;
    border-radius: 20px 0px 0px 20px;
}

.blog_slideshow {
    margin-top: 64px;
    display: flex;
    width: 100vw;
    justify-content: flex-start;
}

.blog_slideshow .blog_card {
    max-width: 400px;
    width: calc(100vw / 3.5);
    border-radius: 50px;
    margin-right: 40px;
    max-height: 400px;
    height: calc(100vw / 3.5);
    box-shadow: 5px 5px 19px 3px rgba(64, 74, 78, 0.23);
    background-color: #fff;
}

.blog_card img {
    width: 100%;
}

.theme.blog {
    padding: 15px 31px 40px 30px;
	border-radius: 0px 0px 50px 50px;
}

.theme.blog1 {
	position: relative;
	height: 100px;
}

.date_category {
    display: flex;
    justify-content: flex-start;
    margin-top: 6px;
    align-items: center;
}

#blog p.theme {
    font-size: calc(0.3125rem + ((1vw - 0.01px) * 0.5));
}

.date_category p {
	font-size: 12px;
	color: #BCBCBC;
}

.btn.blog {
    width: 240px;
    margin: 0 auto;
    margin-top: 140px;
    height: 44px;
    border-radius: 30px;
	transition: all .3s;
}

.btn.blog a {
    position: relative;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.12em;
    padding: 12px 56px 12px 32px;
}

.btn.blog a::before {
	height: 22px;
}

/*スライダーの調整*/
.slick-list.draggable {
	height: calc(100vw / 4);
	padding: 0px 0px!important;
}

/*ABOUT*/
#about_us {
    width: 100vw;
    position: relative;
    background-color: #2EA5E0;
	padding: 50px 0 50px 0;
	z-index: 2;
}

#about_us .about_contents {
    display: flex;
	justify-content: center;
    width: 100%;
	margin-bottom: 100px;
	align-items: center;
}

#about_us p, #about_us p.main_title {
    color: #fff;
}

#about_us .span {
    font-size: 32px;
}

#about_us p.about_fread {
    margin-top: 53px;
    width: calc(100% / 1.18);
	line-height: 2.3;
}

#about_us p.main_title::before {
	background-color: #fff;
}

#about_us h2.japanese_title {
	color: #fff;
}

#about_us img {
    max-width: 766px;
    width: 100%;
    position: relative;
    border-radius: 25px;
}

#about_us .bg_shadow {
    position: absolute;
    width: 100%;
    height: 97%;
    background-color: #0284C3;
    border-radius: 25px;
    z-index: 0;
    left: 50px;
    /* top: 100px; */
    top: 60px;
}

#about_us .right_side {
    width: 50%;
	position: relative;
}

#about_us .left_side {
    width: 50%;
}

#about_us .txt_bottom_english {
    width: 90%;
    margin-top: 16px;
}

.about_contents span {
    font-size: 82px;
}

#about_us .btn.about a {
	color: #2EA5E0;
	background-color: #fff;
	border: 2px solid #fff;
}

#about_us .btn.about a::before {
	height: 33px;;
}

#about_us .btn.about img {
	width: 16px;
	height: 16px;
}

#about_us .btn.about a::before {
	background-image: url("../images/btn_arrow_blue.svg");
    right: -25%;
    top: 16%;
}

/*SERVICE*/
#service {
	position: relative;
	padding-bottom: 40px;
}

#service img.circle {
	z-index: -100;
	position: absolute;
}

#service img.blue_circle.big1 {
    max-height: 1300px;
    max-width: 900px;
    width: calc(100vw / 1.5);
    left: -23%;
    top: 26%;
}

#service img.blue_circle.big2 {
    right: -6%;
    width: calc(100vw / 3.5);
}

#service img.blue_circle.big3 {
    right: -15%;
    top: 50%;
    width: calc(100vw / 2.2);
}

img.blue_circle.middle1 {
    right: 10%;
    width: calc(100vw / 7.6);
    top: 2%;
}

img.blue_circle.middle2 {
    transform: rotateY(180deg);
    top: 65%;
    left: 4%;
    width: calc(100vw / 7.3);
}

img.blue_circle.small1 {
    top: 20%;
    width: 80;
    max-width: 135px;
}

img.blue_circle.small2 {
    bottom: 34%;
    transform: rotateY(180deg);
    right: 6%;
}

#service .flex_box {
	align-items: center;
    display: flex;
    justify-content: space-between;
	margin-bottom: 100px;
	margin-bottom: calc(100vw / 7.5);
}

#service .flex_box.second {
	flex-direction: row-reverse;
}

#service .flex_box.second .right_side {
	margin-left: 0;
}

#service .flex_box.second .right_side img.background_img {
	left: -15%;
}
 
#service .right_side {
    margin-left: 110px;
    position: relative;
    height: 29vh;
    width: calc(100% / 2);
}

#service .left_side {
    width: 44%;
}

#service img.blue_circle {
    position: absolute;
    z-index: -10;
}

#service .flex_box img {
    vertical-align: bottom;
    max-width: 594px;
    width: 100%;
	border-radius: 25px;
	position: absolute;
}

img.background_img {
    max-height: 443px;
    top: 10%;
    right: -15%;
}

#service .title {
    margin-top: 54px;
	position: relative;
	width: calc(100vw / 2.5);
}

.english {
/*    color: #EFFAFF;*/
    color: #CCEFFF;
    font-size: calc(2.5rem + ((1vw - 0.01px) * 1.5));
    font-weight: 600;
    width: 110%;
/*    mix-blend-mode: screen;*/
    font-family: "Campton", sans-serif;
    letter-spacing: 0.03em;
}

h3.sub_title {
    font-size: 24px;
    color: #3B4043;
    letter-spacing: 0.12em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
	position: absolute;
    top: 56%;
	left: 1%;
}	

p.about_service {
    margin-top: 42px;
}

.btn.service {
	width: 270px;
}

.btn.service a::before {
	top: 30%;
}

/*NEWS*/
#news {
	padding-top: 0;
}

#news .news_box {
	margin-top: 80px;
}

.theme.news {
    width: 100%;
    margin: 0 auto;
	padding-top: 32px;
    border-bottom: 1px solid #D8D8D8;
}

#news .theme.news:last-child {
    border-bottom: none;
	padding-bottom: 32px;
}

.theme.news p.theme, .theme.news a.theme.first {
	display: inline-block;
    font-size: 16px;
    line-height: 2.0;
    letter-spacing: 0.12em;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', 'Meiryo,YuGothic', 'Yu Gothic', sans-serif;
    color: #3B4043;
    margin: 30px 0;
    font-weight: 600;
	transition: all .3s;
    position: relative;
	width: 100%;
}

.theme.news a.theme.first:hover {
	color: #0284C3;
	transition: all .3s;
}

.theme.news a.theme.first:hover::after {
	transform: translateX(5px);
	transition: all .3s;
}

.theme.news a.theme.first::after {
	content: "";
	background-image: url("../images/icon_arrow.svg");
	position: absolute;
	width: 25px;
	height: 25px;
	right: 0;
}

p.categry {
    border-radius: 15px;
    color: #fff;
    background-color: #3B4043;
    padding: 1px 20px 2px 20px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 600;
	margin-left: 20px;
}


.theme.news{
    opacity: 1;
}

.theme.news.is-hidden {
    opacity: 0;
    height: 0;
    margin: 0;
}

#news .more {
    margin-top: 20px;
}

/*
#news .more.is-btn-hidden{
  display:none;
}

#news .theme.news button {
    background-color: #333;
  color:#fff;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    height: 32px;
    line-height: 32px;
    width: 120px;
}

#news button.more {
	width: 120px;
    margin: 20px auto;
	margin-top: 40px;
    display: block;
    padding: 10px 15px;
    border: none;
    outline: 0;
    border-radius: 46px;
    color: #fff;
    background-color: #3B4043;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 600;
    transition: .5s;
}

#news button.more:hover {
	background-color:  #2EA5E0;
}
*/

/*
#news button.more.js-close {
	margin-top: 0;
}
*/
 
/*
#news button.more::after {
content: "More";
transition: .2s;
-erbkit-transition: .2s;
}

button.more.js_close.on-click::after{
content: "Close";
}
*/

/*
#news .theme.news img.middle {
	margin-top: 37px;
}
*/

.btn.news {
	margin-top: 56px;
}

.btn.news a::before {
    right: -20%;
    top: 30%;
}

/*newsホバーアクション*/
.theme.news p.theme::before {
    content: '';
    position: absolute;
    bottom: -36px;
    left: 0;
    width: 45px;
    height: 1px;
    background: #BCBCBC;
    transition: all .3s;
}

/*
.theme.news p.theme::after {
    content: '';
    position: absolute;
    bottom: -32px;
    width: 15px;
    height: 1px;
    left: 32px;
    background: #BCBCBC;
    transform: rotate(35deg);
    transition: all .3s;
}
*/

/*リンクを非公開にする*/

.theme.news p.theme.first::before, #news .theme.news p.theme.first::after {
	opacity: 0;
}

.theme.news p.theme.second::before {
	top: 73px;
}

.theme.news p.theme.second::after {
	top: 69px;
}

/*ボタン*/

#news .btn {
	margin-top: 20px;
	text-align: center;
}

#news .btn a {
    background-color: #3B4043;
    color: #fff;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    letter-spacing: 0.12em;
    position: relative;
    padding: 12px 56px 12px 32px;
    border-radius: 25px;
    transition: all 0.3s ease 0s;
    border: 2px solid #3B4043;
}

#news .btn a::before {
	left: 84%;
}

#news .btn a:hover {
    background-color: #fff;
    color: #3B4043;
    border: 2px solid #3B4043;
    border-radius: 25px;
}

#news .btn a:hover::before {
	left: 86%;
}

/*CONTACT*/
#contact_top {
    padding: 92px 0 120px 0;
	border-top: 1px solid #2EA5E0;
}

#contact_top h2 {
	font-family: "Campton", sans-serif;
}

#contact_top h2.contact_text {
    text-align: center;
    font-size: 20px;
    color: #2EA5E0;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 600;
    letter-spacing: 0.12em;
	position: relative;
}

#contact_top h2.contact_text::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -140%;
    background: #2EA5E0;
    width: 1px;
    height: 120%;
}

#contact_top .contact_btn {
    max-height: 140px;
    max-width: 1000px;
    width: 100%;
    border-radius: 70px;
    margin: 38px auto;
}

#contact_top .contact_btn a {
    background-color: #2EA5E0;
    color: #fff;
    display: inline-block;
    width: 100%;
    border-radius: 90px;
    padding: 40px 0;
    text-align: center;
    border: 4px solid #2EA5E0;
    transition: all .3s;
}

#contact_top .contact_btn a span {
	font-size: 15px;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ABOUT■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#about {
    overflow: hidden;
}

#about #page_info_container .bg_txt span{
    color: #2EA5E0;
}

#about .page_info_txt p{
    line-height: 2.5;
}

/*ページ内メインコンテンツ*/

/*ミッション・バリュー*/

#about .contents_area{
    width: 100%;
}

#about .about_container{
    position: relative;
}

/*
#about .bg_word{
    color: #EFFAFF;
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 160px;
    letter-spacing: 0.5rem;
    position: absolute;
    top: -6.8%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);

}
*/

#about .contents_wrapper{
    height: 950px;
    background-color: #EFFAFF;
}



#about .contents_title{
    text-align: center;
    padding-top: 60px;
}

#about .contents_title .t_sub{
    font-size: 14px;
    font-weight: 600;
}

#about .contents_title .t_main::first-letter{
    font-size: 35px;
    color: #2EA5E0;
}

#about .contents_title .t_main{
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 25px;
    color: #3B4043;
    letter-spacing: 0.1rem;
    padding-top: 10px;
    padding-bottom: 25px;
}

#about .contents_title .t_headline{
    font-size: 18px;
    font-weight: 600;
    color: #3B4043;
    letter-spacing: 0.12em;
}

#about .contents_inner{
	width: 1120px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 70px;
    position: relative;
}

#about .contents_inner .img_side{
    position: absolute;
    width: 50%;
}

#about .contents_inner .img_position{
    position: relative;
    height: 100%;
}

#about .contents_inner .img_side img{
    border-radius: 40px;
    position: absolute;
/*    top: 40px;*/
	top: 6px;
	width: 128%;
    z-index: 2;
}

#about .contents_inner .img_side .bg_shadow{
    position: absolute;
    width: 705px;
    height: 510px;
    background-color: #2EA5E0;
    border-radius: 40px;
    z-index: 1;
    left: -50px;
	top: 60px;
}

#about .contents_inner .txt_side{
    position: absolute;
    z-index: 3;
	right: -50%;
    mamx-width: 50%;
    background: linear-gradient(to right, #fff 50%, rgba(0,0,0,0) 100%);
    border-radius: 40px 0 0  40px;
    height: 520px;
	width: 1140px;
    padding-left: 80px;
    padding-top: 70px;
/*	高梨追記↓*/
	top: 116px;
}

/*	高梨追記↓*/
.txt_inner {
    width: 430px;
    position: absolute;
    right: 58%;
}

/*
#about .contents_inner .txt_side .sub_eng{
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #2EA5E0;
    margin-bottom: 30px;
}
*/

#about .contents_inner .txt_side .thema{
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 800;
    font-size: 30px;
    letter-spacing: 0.4rem;
    color: #3B4043;
    margin-bottom: 60px;
}

#about .contents_inner .txt_side .sentence{
/*    width: 50%;*/
/*	width: 80%;*/
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 16px;
    letter-spacing: 0.1rem;
    color: #3B4043;
}

/*ビジョン*/

#about .contents_wrapper_rev{
    height: 950px;
    background-color: #fff;
}

#about .contents_inner_rev{
    width: 1120px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 70px;
    position: relative;
}

#about .contents_inner_rev .img_side_rev{
    position: absolute;
    width: 50%;
    right: 147px;
}

#about .contents_inner_rev .img_position_rev{
    position: relative;
    height: 100%;
}

#about .contents_inner_rev .img_side_rev img{
    border-radius: 40px;
    position: absolute;
/*    top: 40px;*/
	width: 128%;
    z-index: 5;
}

#about .bg_shadow_rev{
    position: absolute;
    width: 705px;
    height: 510px;
    background-color: #2EA5E0;
    border-radius: 60px;
    z-index: 4;
	left: 50px;
/*	top: 100px*/
    top: 60px;
}


/*高梨追記↓*/
#about .txt_inner.rev {
    width: 451px;
    position: absolute;
    right: 7%;
}

#about .contents_inner_rev .txt_side_rev{
    position: absolute;
    z-index: 6;
    left: -50%;
    mamx-width: 50%;
    background-color: #EFFAFF;
    background: linear-gradient(to left, #EFFAFF 50%, rgba(0,0,0,0) 100%);
    border-radius: 0 40px 40px 0;
    height: 520px;
    width: 1140px;
/*    padding-left: 500px;*/
    padding-top: 70px;
	margin-top: 116px;
}

/*
#about .contents_inner_rev .txt_side_rev .sub_eng{
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #2EA5E0;
    margin-bottom: 30px;
	white-space: nowrap;
}
*/

#about .contents_inner_rev .txt_side_rev .thema{
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 30px;
	font-weight: 600;
    letter-spacing: 0.4rem;
    color: #3B4043;
    margin-bottom: 60px;
    
}

#about .contents_inner_rev .txt_side_rev .sentence{
/*    width: 80%;*/
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 16px;
    letter-spacing: 0.1rem;
    color: #3B4043;
}



/*メッセージ*/

#about .message_contents .message_container{
    width: 1120px;
    margin: 0 auto;
    position: relative;
}

#about .message_contents .message_container {
	width: 1120px;
}

/*
#about h2 {
	font-size: 42px;
}
*/

#about h2.message_txt {
    font-weight: 700;
    text-align: center;
	margin-top: 180px;
    margin-bottom: 150px;
}


#about .message_txt{
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    font-weight: 700;
    font-size: 40px;
    color: #3B4043;
    margin-top: 180px;
    margin-bottom: 150px;
    z-index: 10;
}

#about .message_main_txt{
    width: 70%;
    margin: 0 auto;
}

#about .message_contents .message_main_txt p{
    font-family: "Noto Sans JP", sans-serif;
/*    font-weight: 600;*/
    font-size: 16px;
    color: #3B4043;
    line-height: 3.5;
    margin-bottom: 100px;
	text-align: center;
}

#about .message_contents .message_main_txt p span{
    font-size: 26px;
    line-height: 2;
}

#about .sign{
    text-align: right;
    margin-bottom: 100px;
}

#about .sign span{
    margin-left: 15px;
}

#about .message_contents .message_main_txt .bg_message_txt{
    position: absolute;
    top: 240px;
    left: -400px;
    transform: rotate(90deg);
    text-align: center;
    font-weight: 700;
    font-size: 120px;
    color: #EFFAFF;
    z-index: -1;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■SERVICE■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#service_page #page_top_view{
    width: 100%;
}

#service_page #page_info_container .bg_txt span{
    color: #2EA5E0;
}

#service_page .page_info_txt p{
    line-height: 2.5;
}


/*ページ内メインコンテンツ*/

#service_page .contents_area{
    width: 100%;
}

#service_page .service_container{
    position: relative;
}
	
/*
#service_page .bg_word{
    color: #EFFAFF;
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 160px;
    letter-spacing: 0.5rem;
    position: absolute;
    top: -4.5%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
*/

#service_page .contents_wrapper{
    background-color: #EFFAFF;
    padding-top: 70px;
    padding-bottom: 70px;
}

#service_page .service_inner{
    background-color: #fff;
    width: 1120px;
    margin: 100px auto;
    border-radius: 40px;
    padding: 70px;
	padding-bottom: 70px;
	position: relative;
}

#service_page .flex_bet_bottom{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 90px;
}

#service_page .flex_bet_bottom_rev{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse;
    margin-bottom: 90px;
}

#service_page .service_info_txt{
    width: 45%;
}

#service_page .service_info_txt h2{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.1;
    color: #2EA5E0;
    margin-bottom: 20px;
}

#service_page .service_info_txt h3{
    font-family: 'Campton', sans-serif;
    font-weight: 300;
    font-size: 25px;
    color: #2EA5E0;
    margin-bottom: 50px;
}

#service_page .service_info_txt p{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    color: #3B4043;
}

#service_page .service_info_img{
    width: 50%;
}
 
#service_page .service_info_img img{
    width: 100%;
}

#service_page .product_example{
/*    border-bottom: solid 1px #3B4043;*/
    margin-top: 20px;
}


#service_page .product_inner p{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #3B4043;
    position: relative;
}


#service_page .product_inner_title::after{
    content: '';
    width: 82%;
    height: 1px;
    display: inline-block;
    background-color: #3B4043;
    position: absolute;
    top: 15px;
    right: 0;
}



#service_page .product_example .flex_bet_center{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 15px 0;
}

#service_page .mtb_20{
    margin: 20px 0;
}

#service_page .product_name{
    width: 300px;
    height: 60px;
    background-color: #F4F4F4;
    border-radius: 5px;
    display: flex;
    align-items: center;
    text-align: center;
}

#service_page .product_name p{
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 16px;
}

#service_page .in_house_title{
    margin-top: 50px;
    margin-bottom: 50px;
}

#service_page .in_house_title h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 27px;
    color: #3B4043;
    display: inline;
}



#service_page .in_house_title p{
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 19px;
    color: #D9D8D8;
    display: inline;
    margin-left: 15px;
}

#service_page .in_house_inner .flex_bet_start {
    align-items: flex-start;
    border-bottom: 1px solid #D8D8D8;;
    display: flex;
    padding: 90px 0;
	padding-top: 50px;
    justify-content: space-between;
}

#service_page .in_house_inner .flex_bet_start:last-child {
	border-bottom: none;
	padding-bottom: 30px;
}

#service_page .in_house_inner .img_side{
    width: 45%;
}

#service_page .in_house_inner .img_side img{
    border-radius: 10px;
    width: 100%;
}

#service_page .in_house_inner .txt_side{
    width: 50%;
}

#service_page .txt_side{
    position: relative;
}

#service_page .txt_side .blue_box{
    background-color: #2EA5E0;
    border-radius: 5px;
    width: 50%;
    margin-bottom: 15px;
}

#service_page .txt_side .blue_box p{
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #fff;
}

#service_page .txt_side h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 24px;
    color: #2EA5E0;
    margin-bottom: 15px;
}

#service_page .txt_side h4{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #3B4043;
    margin-bottom: 15px;
}

#service_page .txt_side p{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    color: #3B4043;
    margin-bottom: 30px;
}

#service_page .l_ad{
    position: absolute;
    left: -30px;
    bottom: -50px;
}

#service_page .btn.l_ad {
    width: 240px;
    margin: 0 auto;
    margin-top: 140px;
    height: 44px;
    border-radius: 30px;
	transition: all .3s;
}

#service_page .btn.l_ad a {
    position: relative;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.12em;
    padding: 12px 52px 12px 42px;
}

#service_page .btn.l_ad a::before {
	left: 83%;
}

#service_page .inner-bottom_txt {
    height: 160px;
    text-align: right;
    margin-right: -50px;
}

#service_page .inner-bottom_txt p {
	font-size: 130px;
    color: #EFFAFF;
    font-family: "Campton", sans-serif;
    font-weight: 600;
    display: inline-block;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■FLOW■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#flow .pt_60 {
	padding-top: 60px;
	height: 782px;
}

#flow .mb_72 {
	margin-bottom: 72px;
}

#flow {
    overflow: hidden;
}

#flow .flow_container {
    padding: 90px 0;
}

#flow .contents_title {
    text-align: center;
    padding-top: 60px;
}

#flow p.t_sub {
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 25px;
    color: #2EA5E0;
    letter-spacing: 0.1rem;
    padding-bottom: 20px;
}

#flow h3.t_main {
    font-size: 30px;
    font-weight: 600;
    color: #3B4043;
    letter-spacing: 0.12em;
	margin-bottom: 70px;
}

.flow_contents_wrapper {
    height: 722px;
    width: 100%;
	background-color: #EFFAFF;
	position: relative;
}

.flow_contents_inner {
	position: relative;
	height: 479px;
}

#flow .img_side {
	position: absolute;
	width: 50%;
	right: 0;
	top: 0;
}

#flow .img_position {
	position: relative;
}

#flow .img_position img {
    border-radius: 25px;
	z-index: 1;
	position: absolute;
	width: 100%;
}

#flow .bg_shadow {
    position: absolute;
    width: 568px;
    height: 354px;
    background-color: #2EA5E0;
    border-radius: 25px;
    z-index: 0;
    left: 50px;
    top: 60px;
}

#flow .bg_shadow.rev {
	left: -50px;
}

#flow .txt_side {
    width: 42%;
    position: absolute;
    top: 12%;
    padding-top: 80px;
}

#flow .triangle_box {
    position: absolute;
    width: 100%;
    height: 81px;
    bottom: -10%;
}

#flow .triangle_inner {
    width: 100%;
    height: 100%;
    position: relative;
}

#flow .under_box_triangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 150px solid transparent;
	border-left: 150px solid transparent;
	border-top: 88px solid #effaff;
	border-bottom: 0;
	position: inherit;
	margin: 0 auto;
}

#flow .under_box_triangle.rev {
	border-top: 88px solid #fff;
    z-index: 1;
}

#flow .bg_white_number {
	font-family: 'Oswald', sans-serif;
    letter-spacing: 0.06em;
    position: absolute;
    top: 20%;
    left: -130px;
    transform: rotate(90deg);
    text-align: center;
    font-weight: 600;
    font-size: 360px;
    color: #fff;
    z-index: 0;
}

#flow .bg_blue_number {
    font-family: 'Oswald', sans-serif;
    position: absolute;
    display: inline-block;
    top: 33%;
    width: 171px;
    transform: rotate(-90deg);
    text-align: center;
    font-weight: 600;
    font-size: 360px;
    color: #EFFAFF;
    z-index: 0;
    right: 60px;
}

#flow .bg_white_number.third, #flow .bg_white_number.pc.fifth {
    left: -42px;
}

.flow_contents_wrapper.rev {
	background-color: #fff;
	margin-top: 90px;
}

#flow .txt_side.rev {
	right: 0;
}

#flow .img_side.rev {
	left: 0;
}



/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■COMPANY■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#company #contents_area {
    margin-top: 0;
}

#company .contents_wrapper {
    padding: 100px 0;
    height: auto;
    background-color: #fff;
}

#company .company_container {
/*    margin-top: 300px;*/
}

/*ここから会社情報*/

#company table {
    border-spacing: 0;
    width: 100%;
    border-collapse: separate;
    background-color: #fff;
    border-radius: 30px;
	padding: 20px 0;
}

#company .bg_word {
	top: -12.5%;
}

#company tr {
    display: inline-block;
    border-bottom: 1px solid #e5e5e5;
    width: 93%;
    margin-left: 3.5%;
}

#company tr:nth-child(6){
	border-bottom: none;
}

#company table th{
	padding: 5px 49px;
    background: #FFFFFF;
    color: #3B4043;
    width: 240px;
    font-size: 16px;
	font-weight: 600;
    font-family: 'Noto Sans JP', sans-serif;
}

#company table tr:nth-child(even) th{
	background: #FFFFFF;
}

#company table td{
	width: 1120px;
	padding: 32px 5px;
	background: #FFFFFF;
	color: #3B4043;
	font-size: 16px;
	line-height: 1.8em;
    font-family: 'Noto Sans JP', sans-serif;
}

#company table th:not(:first-child), table td:not(:first-child){
	border-left:none;
}

#company table th:not(:end-child), table td:not(:end-child){
    border-bottom: none;
}

#company table th:not(:end-child){
    border-bottom: none;
}

#company .map {
	position: relative;
	width: 100%;
	height: 450px;
	padding-top: 40%;
	margin-top: 56px;
}

#company .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*動画挿入部分*/
#intro_movie {
    background-color: #EFFAFF;
	overflow-x: hidden;
}


#intro_movie .contents_title {
    text-align: center;
	padding-top: 60px;
}

#intro_movie .contents_title .t_sub {
    font-size: 14px;
    font-weight: 600;
	text-align: center;
}

#intro_movie .contents_title .t_main {
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 25px;
    color: #3B4043;
    letter-spacing: 0.1rem;
    padding-top: 10px;
    padding-bottom: 40px;
}

#intro_movie .contents_title .t_main::first-letter{
    font-size: 35px;
    color: #2EA5E0;
}

#intro_movie .contents_title .t_headline {
    font-size: 18px;
    font-weight: 600;
    color: #3B4043;
    letter-spacing: 0.12em;
}

#intro_movie .flex_bet_center {
    column-gap: 7%;
}

#intro_movie .movie {
    width: 50%;
    margin-bottom: 100px;
	position: relative;
	z-index: 2
}

#intro_movie .movie iframe {
	border-radius: 25px;
    height: 340px;
    position: inherit;
	width: 100%;
    z-index: 2;
}

#intro_movie .bg_shadow {
    position: absolute;
    width: 100%;
    height: 340px;
    background-color: #2EA5E0;
    border-radius: 25px;
    z-index: 1;
    left: 50px;
    /* top: 100px; */
    top: 60px;
}

#intro_movie p.movie_name {
    margin-top: 90px;
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■VLOG / BLOG■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#blog .wrapper {
	padding: 100px 0;
}

.blog_contents.flex_bet_start {
    display: flex;
    column-gap: 7%;
}

#blog .blog_contents {
    padding: 72px 0;
    border-bottom: 1px solid #E5E5E5;
}

#blog .blog_contents:first-child {
    padding-top: 0;
    border-bottom: 1px solid #E5E5E5;
}

#blog .blog_contents:last-child {
    border-bottom: none;
}

#blog .blog_right_side {
	width: 60%;
	font-size: 15px;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0.12em;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴシック','Hiragino Sans','メイリオ', 'Meiryo,YuGothic', 'Yu Gothic', sans-serif;
    color: #3B4043;
}

#blog .blog_left_side {
	width: 50%;
}

#blog .vlog_box {
	border-radius: 25px;
	display: grid;
    width: 100%;
    height: 320px;
    place-items: center;
}

#blog .date_category {
	margin-top: 0;
}

#blog p.small.categry {
    border-radius: 15px;
    color: #fff;
    background-color: #3B4043;
    padding: 1px 20px 2px 20px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 600;
}

#blog p.small.date {
    font-size: 16px;
    color: #BCBCBC;
}

#blog h2.blog_ttl {
	color: #0096DC;
    font-size: 20px;
    font-weight: 500;
	margin: 10px 0;
}

#blog ul.page-numbers.flex_bet_center {
	color: #191919;
    font-family: 'Noto Sans JP',sans-serif;
    font-size: 18px;
	margin-top: 100px;
	width: 280px;
}

#blog a.page-numbers {
    color: #191919;
}

#blog span.page-numbers.current {
    color: #fff;
    background: #2EA5E0;
    padding: 8px 16px;
    border-radius: 50%;
}

#blog a.page-numbers img {
    width: 92%;
}

#blog p.blog_inner_ttl {
    font-size: 16px;
    font-weight: 600;
}

#blog .mt14 {
	margin-top: 14px;
}

#blog p.blog_inner_txt {
    font-size: 15px;
}

#blog iframe{
    width: 100%;
    height: 100%;
    border-radius: 25px;
}

#blog p.movie_contract_txt {
    font-size: 12px;
    margin-bottom: 14px;
}

#blog ul {
    margin: 0px 0px 14px 20px;
    list-style: circle;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■CONTACT■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

ul.nav.pc li .btn_contact a.only_cantact_page {
	background-color: #2EA5E0;
	border-color: #2EA5E0;
}

#contact .contents_wrapper {
    height: auto;
    padding: 160px 0;
    background-color: #EFFAFF;
}

#contact .bg_word {
	    top: -11.5%;
}


/* フォームパーツのデザイン */

#contact table.formTable {
    width: 100%;
}

#contact form {
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
    padding: 90px 40px;
	border-radius: 40px;
}

tr.form-row {
	display: flex;
	align-items: center;
	padding: 23px;
	justify-content: space-between;
}

tr.form-row:last-child {
	border-bottom: none;
	align-items: flex-start;
}

th.form-label {
	display: flex;
	align-items: center;
	width: 250px;
}

th.about_inquiry {
	margin-top: 24px;
}

th.form-label label {
	font-weight: bold;
}

th.form-label span {
	margin-left: 10px;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	background-color: #FF1212;
}

#contact td {
	width: 80%;
}

p.form_top_text {
    font-size: 18px;
    text-align: center;
    margin-bottom: 16px;
	font-weight: 500;
}

#contact p.attention {
    text-align: center;
    margin-bottom: 48px;
}

#contact label, p.caution,#contact　.form-row span, span.contact_agree{
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 16px;
    letter-spacing: 0.09em;
}

#contact input, #contact textarea {
    background-color: #fff;
    padding: 15px 20px;
    font-size: 16px;
    color: #333;
    flex-grow: 1;
    border-radius: 10px;
    border: 1px solid #3B4043;
	width: 100%;
	font-family: "Noto Sans Japanese", sans-serif;
}

textarea#message {
    height: 345px;
}

#contact input::placeholder,
#contact textarea::placeholder {
	color: #999;
	font-size: 14px;
    font-family: "Noto Sans Japanese", sans-serif;
}

#contact select {
	background-color: #fff;
    padding: 15px 20px;
    font-size: 16px;
    color: #333;
    flex-grow: 1;
    border-radius: 10px;
    border: 1px solid #3B4043;
	font-family: "Noto Sans Japanese", sans-serif;
	width: 100%;
}

#contact .chesk_contents {
    margin: 0 0 0 auto;
    width: 75%;
}

.privacy_caution_area {
    display: flex;
    align-items: center;
    justify-content: inherit;
    margin-top: 24px;
}

a.privacy_check {
    color: #FF1212;
    margin-left: 5px;
    border-bottom: 1px solid;
    font-size: 15px;
    font-weight: 500;
    margin: 0 3px 0 16px;
}

.contactform_btn {
    text-align: center;
    width: 250px;
    margin: 0 auto;
    margin-top: 72px;
}

input.contact_form_btn {
	background-color: #3B4043!important;
    color: #fff!important;
    font-size: 16px!important;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 600;
    letter-spacing: 0.12em;
    position: relative;
    padding: 11px 32px 12px 32px!important;
	border: 2px solid #3B4043!important;
    border-radius: 23px!important;
    transition: all 0.3s ease 0s;
    margin: 0 auto;
    width: 260px;
    height: 48px;
    text-align: center!important;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■FAQ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#faq .wrapper {
    padding-bottom: 200px;
}

#faq .contents_title {
    text-align: center;
    padding-top: 160px;
    margin-bottom: 64px;
}

#faq .contents_title .t_sub {
    font-size: 16px;
    font-weight: 600;
}

#faq .contents_title .t_main span {
    font-size: 45px;
    color: #2EA5E0;
}

#faq .contents_title .t_main {
    font-family: 'Campton', sans-serif;
    font-weight: 600;
    font-size: 32px;
    color: #3B4043;
    letter-spacing: 0.1rem;
    padding-top: 10px;
    padding-bottom: 25px;
}

#faq .faq_contents {
	width: 100%;
    margin-top: 10%;
}

.flex_start_center.question_line, .flex_start_center.answer_line {
    padding: 30px 24px;
}

.flex_start_center.question_line {
    background-color: #EFFAFF;
	border-radius: 13px;
}

#faq .faq_contents .flex_start_center p {
	text-align: left;
	font-family: "Noto Sans Japanese", sans-serif;
}

#faq .question_line p {
    font-size: 18px;
    font-weight: 500;
	padding-top: 7px;
}

#faq .answer_line p {
	font-size: 16px;
	font-weight: normal;
	font-family: "Noto Sans Japanese", sans-serif;
}

span.question_icon, span.answer_icon {
    font-size: 28px;
    margin-right: 36px;
}

span.question_icon {
	color: #2DA5E0;
}

span.answer_icon {
	color: #E0562D;
	padding-bottom: 10px;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ニュース一覧 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

section#archive_content {
	background-color: #EFFAFF;
	height: auto;
	margin-top: 10%;
    padding: 160px 0;
}

#archive .news_list {
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
    padding: 90px 40px;
    border-radius: 40px;
}

#archive .tab {
    text-align: center;
	margin-bottom: 40px;
}

#archive .tab h4 {
	font-family: "Campton", sans-serif;
	font-size: 15px;
	color: #3B4043;
}

#archive .tab ul li {
	margin-top: 15px;
}

/*liにactiveクラスがついた時の形状*/
#archive .tab li.active a {
    background: #2EA5E0;
}

#archive .tab ul li a {
	border-radius: 15px;
    color: #fff;
    background-color: #C1CAD0;
    display: inline-block;
    font-size: 12px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-weight: 600;
    min-width: 75px;
    padding: 5px 15px;
}

.flex_center_center {
	display: flex;
	align-items: center;
	column-gap: 15px;
	justify-content: center;
}

/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #fff;
	padding:50px 20px;
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

/*
@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
*/

/*ページネーション*/
.Pagination {
  display: flex;
  align-items: center;
	justify-content: center;
}

.Pagination-Item-Link {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  overflow: hidden;
  background: #fff;
  border: solid 2px #3B4043;
  font-size: 14px;
  color: #3B4043;
  font-weight: bold;
  transition: all 0.15s linear;
}

.Pagination-Item-Link-Icon {
  width: 20px;
}

.Pagination-Item-Link.isActive {
  background: #3B4043;
  color: #fff;
  pointer-events: none;
}

.Pagination-Item-Link:not(.isActive):hover {
  background: #3B4043;
  color: #fff;
}

.Pagination > * + * {
  margin-left: 10px;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■PRIVACY POLICY■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/



#privacy_policy #contents_area {
    margin-top: 0;
}

#privacy_policy .contents_wrapper {
    padding: 100px 0;
    height: auto;
    background-color: #EFFAFF;
}

/*
#privacy_policy .bg_word {
    top: -5.9%;
}
*/

/*ここからプライバシーポリシーの内容*/

.privacy_policy_explanation {
    max-width: 1120px;
    width: 100%;
    margin: 8% auto;
}

.privacy_policy_explanation p {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    color: #3B4043;
    line-height: 2.5;
	
}

#comp_box {
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
    padding: 90px 90px;
    border-radius: 40px;
}

#comp_box dt {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
	font-weight: 500;	
    margin: 50px 0;
	margin-bottom: 24px;
}

#comp_box dl dt:nth-child(1) {
	margin-top: 0;
}

#comp_box dd {
    border-bottom: 1px solid #E2F6FF;
    padding-bottom: 50px;
}

#comp_box dd.last_comp {
	border: none;
	padding-bottom: 0;
}

#comp_box ul li {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
}

#comp_box p {
    margin-bottom: 24px;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 404ページ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#page_info_container.only_404 .flex_bet_center {
    padding-top: 80px;
}

#page_info_container.only_404 {
    padding-bottom: 80px;
   height: auto;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■FOOTER■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*フッター*/
footer {
    background-color: #3B4043;
    padding: 32px 0 16px 0;
	position: relative;
}

footer .flex_box {
	display: flex;
	align-items: center;
	justify-content: space-around;
}

footer .footer_nav_box {
    margin: 32px 0 12px 0;
	padding: 32px 0 32px 0;
}

footer .right_side.nav_box {
    width: 70%;
}

footer .left_side.logo_box {
/*	margin-left: 40px;*/
	width: 150px;
}

footer .left_side.logo_box {
    width: 150px;
}

footer ul li a {
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	font-family: "Campton", sans-serif;
}

footer ul.nav li a::after {
	background-color: #fff;
}

footer ul.nav li:nth-child(8) {
	margin-right: 0;
}

footer ul.other_nav li:nth-child(1) {
	margin-right: 30px;
}

footer ul.other_nav li a {
    color: #679BB4;
}

footer ul.nav, ul.other_nav {
    display: flex;
    justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
}
footer ul.other_nav{
    margin-bottom: 0;
}

footer ul.other_nav {
	justify-content: flex-start;
}

footer .navline.pc {
    display: flex;
    flex-wrap: wrap;
}

footer .sns_icon {
    text-align: right;
}

footer img.instagram {
	margin-right: 28px;
}

footer p.company_name {
	color: #fff;
	font-size: 10px;
	text-align: right;
}

#scrollTop_arrow {
    position: absolute;
	right: 1%;
    bottom: 33px;
    width: 22px;
    height: 68px;
}
