@charset "utf-8";
/*
Theme Name: Lightning Child Sample
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.1.2
*/

/* 特定のページだけヘッダー非表示にする */
.page-id-12  .page-header { display:none; }
.page-id-12  .breadcrumb { display:none; }

.page-id-107  .page-header { display:none; }
.page-id-107  .breadcrumb { display:none; }

.page-id-11  .page-header { display:none; }
.page-id-11  .breadcrumb { display:none; }


/*G3モバイルメニューのタップ範囲を拡張*/
@media (max-width: 991px) {
.vk-menu-acc .acc-btn {
border: none;
background: var(--vk-menu-acc-icon-open-black-bg-src) right 50% no-repeat;
width: 100%;
right: 0;
top: 0;
height: calc( 24px + 1.4em );
background-size: 30px;
}

.vk-menu-acc .acc-btn-close {
background: var(--vk-menu-acc-icon-close-black-bg-src) right 50% no-repeat;
background-size: 30px;
}
}


/*G3モバイルメニューのボタンにMENUの文字を表示*/
.vk-mobile-nav-menu-btn {
  text-indent: 2px;
  font-size: 10px;
  padding-top: 26px;
  overflow: visible;
  border: none;
  background-position: top;
  height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
  border: none;
}
.vk-mobile-nav {
  padding-top: 50px;
}

/***** 制作依頼コンタクトフォーム *****/
.c1{
padding:15px 20px;
font-weight:normal;
color:#595858;
display:block;
line-height:150%;
}

/*
.c2{
background:#fff;
padding:20px;
border-bottom:1px solid #ccc;
font-weight:normal;
color:#595858;
line-height:150%;
}
*/
 
p.c1,p.c2{
margin:0;
padding:5px 20px;
}
 
/*
.c1:hover,.c2:hover{
background:#CEE5FF;
}
*/
 
.c1.last,.c2.last{
border-bottom:none;
}
 
.m-alert{
padding:5px;
background:#990303;
color:#fff;
margin:5px;
font-weight:normal;
line-height:150%;
}

.a-alert{
padding:5px;
background:#000000;
color:#fff;
margin:5px;
font-weight:normal;
line-height:150%;
}
 
input[type=text],input[type=tel],input[type=email]{
font-size:15px !important;
padding:10px !important;
margin-left:15px !important;
margin-right:15px !important;
}

textarea[name="your-message-contact"]{
font-size:15px !important;
padding:10px !important;
margin-left:15px !important;
margin-right:15px !important;
}
 
input[type=file]{
font-size:15px !important;
margin-left:15px !important;
}

/*
.c1 textarea,.c2 textarea{
font-size:15px;
width:100%;
height:70px;
}
*/

.file{
padding:10px !important;
margin:10px !important;
display:block;
}
 
span.wpcf7-list-item { display: block; }
input[type=text],input[type=email],input[type=tel],textarea[name="your-message-contact"] {
   width:95%;
}
 
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{
   border:solid 1px #20b2aa;
}
 
input[type=text], select,input[type=email],input[type=tel]{
   outline: none;
}
 
.contact_right textarea{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:#a9a9a9 1px solid;
   -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   width:90%;
   padding:0 3px;
}
 
.contact_right textarea:focus{
   border:solid 1px #20b2aa;
}
 
.contact_right textarea {
   outline: none;
width:95%;
}
 
input[type=submit]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:#a9a9a9 1px solid;
   -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   width:95%;
   height:50px;
   font-size:20px;
   padding:0 3px;
   margin:5px;
   cursor:pointer;
   color:#fff !important;
   font-weight:bold;
   background:#b61b81 !important;
	margin-left:15px !important;
margin-right:15px !important;
}
 
.contact_form input[type=submit]{
width:50%;
}
 
.contact_form input[type=text],.contact_form input[type=email]{
width:100%;
height:50px;
font-size:1.5em;
}

/* 電話番号のスタイル(1) */
input[type="tel"] {
    background: none repeat scroll 0% 0% #FFF;
    border: 1px solid #CCC;
    padding: 2px;
    font-size: 12px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) inset;
}
 
/* 電話番号のスタイル(2) */
#content form input[type="tel"] {
    position: relative;
    overflow: hidden;
    padding: 5px 10px;
    margin: 5px 5px 5px 0px;
    width: 95%;
}

/* コンタクトフォームの外枠 */
.contact_bg{
	border: solid 1px #DBDBDB;
	padding:20px;
}

/* contactform7送信後にフォームを非表示 */
.sent .general {
display: none;
}
.sentout_message{
display: none;
}
.sent .sentout_message{
display: block;
}

/*グローバルメニューのアイコンが回転*/
.global-nav-list>li:hover a i {
    transform: rotateX(360deg);
    transition: all 1.5s ease-out;
    color: #0abfd2;
}

.my-blue {color: #053879}

/*カーソルを当てるとゆっくり透明に*/
.ex1 img {
  transition: .3s;
}

.ex1 img:hover {
  opacity: 0.7;
}

.ex1 {
  transition: .3s;
}

.ex1 :hover {
  opacity: 0.9;
}

/* マウスオーバーで画像を拡大ズーム */
.zoom-img {
  position: relative;
	overflow: hidden;
  }

.zoom-img img {
  width: 100%;
  filter: grayscale(100%);
  transition: all 0.3s ease-in;
  transition-duration: 0.5s;
 }

.zoom-img img:hover {
  filter: grayscale(0%);
  transform: scale( 1.1, 1.1 );	
  transition-duration: 0.5s;
}
/* マウスオーバーで画像を拡大ズーム */

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc_1 { display: block !important; }
.sp_1 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc_1 { display: none !important; }
.sp_1 { display: block !important; }
}

/* パソコンで見たときは"pc"のclassがついたCSS適用 */
.pcsp_no { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついたCSS適る */
@media only screen and (max-width: 750px) {
.pcsp_no { display: none !important; }
}

/* コンテナ幅を拡張する */
@media (min-width: 576px) {
:root{ --vk-width-container : 576px; }
.container { max-width: 576px; }
}

@media (min-width: 768px) {
:root{ --vk-width-container : 768px; }
.container { max-width: 768px; }
}

@media (min-width: 992px) {
:root{ --vk-width-container : 992px; }
.container { max-width: 992px; }
}

@media (min-width: 1200px) {
:root{ --vk-width-container : 1200px; }
.container { max-width: 1200px; }
.breadcrumb { margin: 0 10%; }
.site-body{ margin: 0 10%; }
}

@media (min-width: 1600px) {
:root{ --vk-width-container : 1600px; }
.container { max-width: 1600px; }
.breadcrumb { margin: 0 10%; }
.site-body{ margin: 0 10%; }
}

@media (min-width: 1900px) {
:root{ --vk-width-container : 1800px; }
.container { max-width: 1800px; }
.breadcrumb { margin: 0 10%; }
.site-body{ margin: 0 10%; }
}

/* h2タグ */
h2 { 
color : #053879 !important;
background:#fff !important;
border: none !important;
}

.size_175 {
    font-size:  175%;    /* 文字サイズ指定 */
	font-weight : bold !important;
	font-family : "MS明朝", serif;
 	line-height: 150%;
}

.size_175s {
    font-size:  175%;    /* 文字サイズ指定 */
	color:#003161;   /* 文字色指定 */
	font-weight : bold !important;
	font-family : "MS明朝", serif;
 	line-height: 150%;
}

/* 角丸四角の中に文字を表示 */
.rounded-box {
  display: inline-block;
  width: 80px;
  height: 40px;
  border-radius: 40px;
  background: lightgray;
  text-align:center;
  line-height: 40px;
}
/* 角丸四角の中に文字を表示 */



/* フローティングバナー設定 */
#footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    padding: 0 auto;
}
 
#footerFloatingMenu img {
    max-width: 99%;
}

@media (min-width: 481px) {
    #footerFloatingMenu {
        display: none;
    }
}

#FloatingMenu {
    display: block;
    width: 20%;
    position: fixed;
    right: 10%;
    bottom: 50px;
    z-index: 9999;
    text-align: left;
    padding: auto 0;
}

 
#FloatingMenu img {
    max-width: 99%;
}
/* フローティングバナー設定 */

/* 追従するサイドバーをCSSのみで実装 */
body {
    overflow: clip
}

.sidebar-wrap {
  display: flex;
  align-items: flex-start; // ★flexで横並びにする場合は、要素の高さが揃ってしまうためflex-startに
  flex-direction: row-reverse;
}
.sidebar-wrap .cont {
  padding-left: 0px;
  width: 80%;
  min-height: 800px;
}
.sidebar-wrap .sidebar {
    position: -webkit-sticky; /* Safari用 */
    position: sticky;
    top: 100px; /* 上端に固定する場合 */
    z-index: 100; /* 他の要素に隠れないようにする */
  width: 20%;
}
/* 追従するサイドバーをCSSのみで実装 */

/* 画像の右にテキストを横並び */
.flex {
  display: flex; /*横並び*/
}
.flex .image {
  width: 100%; /*画像サイズ指定*/
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.flex .text {
  margin: 0 0 0 20px;
  padding: 0;
}
/* 画像の右にテキストを横並び */

/* 画像の右にテキストを横並び */
.flex2 {
  display: flex; /*横並び*/
}
.flex2 .image2 {
  width: 130% !important; /*画像サイズ指定*/
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.flex2 .text2 {
  margin: 0 0 0 20px;
  padding: 0;
}
/* 画像の右にテキストを横並び */

/* 画像の右にテキストを横並び */
.flex3 {
  display: flex; /*横並び*/
}
.flex3 .image3 {
  width: 70% !important; /*画像サイズ指定*/
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.flex3 .text3 {
  margin: 0 0 0 20px;
  padding: 0;
}
/* 画像の右にテキストを横並び */

/* 画像の右にテキストを横並び */
.flex4 {
  display: flex; /*横並び*/
}
.flex4 .image4 {
  width: 100% !important; /*画像サイズ指定*/
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.flex4 .text4 {
  margin: 0 0 0 0px;
  padding: 0;
}
/* 画像の右にテキストを横並び */

/* CSSのみで無限ループスライダー */
/* スライダー全体 */
.slider-wrapper {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
}
/* スライド3枚のグループ */
.slider {
  animation: scroll-left 60s infinite linear .0s both;
  display: flex; /* スライド3枚を横並び */
}
/* スライド */
.slide {
  width: calc(100vw / 5); /* 3はスライドの枚数 */
}
/* スライドの画像 */
.slide img {
  display: block;
  width: 100%;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/* hover(マウスオーバー)で一時停止 */
.slider-wrapper:hover .slider {
  animation-play-state: paused;
}
/* hover(マウスオーバー)で拡大 */
.slide {
  cursor: pointer;
  overflow: hidden;
}
.slide img {
  transition: transform 1.0s;
}
.slide:hover img {
  transform: scale(1.1);
}
/* CSSのみで無限ループスライダー */

ul {
  list-style: none; /* マークを消す */
  padding: 0;
  margin: 0;
}

/* CSSのみで無限ループスライダー SP版*/
/* スライダー全体 */
.slider-wrapper_sp {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
}
/* スライド3枚のグループ */
.slider_sp {
  animation: scroll-left 60s infinite linear .0s both;
  display: flex; /* スライド3枚を横並び */
}
/* スライド */
.slide_sp {
  width: calc(100vw / 2); /* 3はスライドの枚数 */
}
/* スライドの画像 */
.slide_sp img {
  display: block;
  width: 100%;
}
/* CSSのみで無限ループスライダー SP版*/

/* コンタクトフォームの外枠 */
.contact_bg{
	border: solid 1px #DBDBDB;
	padding:40px;
}

.sub_title{
text-decoration:none;
     border-bottom:1px solid;
     padding-bottom:1px;
	padding:7px;
	font-weight:bold;
	font-size:18px;
	color:#C80000;
	margin-bottom:10px;
	clear:both;
}


.title_keitai{
	background:#0abfd2;
	padding:7px;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	color:#fff;
	margin-bottom:10px;
	clear:both;
}

.title_jv{
	background:#053879;
	padding:7px;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	color:#fff;
	margin-bottom:10px;
	clear:both;
}

.box_blue2 {
    border: solid 3px #000066;
	padding: 0.5em 1em;
    width: 95%;
    margin:auto;
	overflow: scroll;

}

.sub_title3{
text-decoration:none;
     border-bottom:1px solid;
     padding-bottom:1px;
	padding:7px;
	font-weight:bold;
	font-size:18px;
	color:#000066;
	margin-bottom:10px;
	clear:both;
}

/*利用規約ボタン*/
.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #0abfd2;
  border: solid 2px #0abfd2;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  background: #0abfd2;
  color: white;
}

/*　リンクテキストの色を変えない　*/
a {
  color: inherit;
}
a:hover {
	color: inherit;
}


/*　JV CSS　*/
.content_inner2{
    max-width: 1140px;
    margin: 0 auto;
    padding-top: 69px;
    border-top: 1px solid #dbdad6;
}
h1.ttl{
    margin-left: 10px;
    margin-bottom: 19px;
    font-size: var(--font42);
    line-height: 1.2;
    letter-spacing: 4px;
}
h1.ttl span{
    margin-bottom: 22px;
    font-size: var(--font24);
    font-family: var(--commons);
    font-weight: normal;
    color: #000000;
    line-height: 1.2;
    display: block;
    letter-spacing: 0px;
}
:root {
    color-scheme: light;
    --font48: clamp(26px,4.8vw,3rem);
    --font42: clamp(26px,4.2vw,2.625rem);
    --font28: clamp(20px,2.8vw,1.75rem);
    --font26: clamp(19px,2.6vw,1.55rem);
    --font24: clamp(18px,2.4vw,1.5rem);
    --font20: clamp(16px,2.0vw,1.25rem);
    --font18: clamp(15px,1.8vw,1.125rem);
    --font16: clamp(14px,1.6vw,1rem);
    --commons: tt-commons-pro, sans-serif;;
  }
.company_map{
        position: relative;
        width: 100%;
        max-width: 720px;
        height: 365px;
        top: 0;
        right: 0;
    }