/*
Theme Name:
Description:
Author:
Version:
*/
/*********************************************/
/* 共通系                                    */
/*********************************************/
body {
	font-family: "Lucida Grande", "游ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", sans-serif;
    color: #696969;
    font-size: 15px;
    line-height: 1.6;
	margin: 0;
	padding-top: 60px
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
img {
	border: 0;
	margin: 0;
	max-width: 100%;
	vertical-align: top;
}
p {
	margin: 0;
}
a{
	text-decoration: none!important;
}
ul,li{
	margin: 0;
	padding: 0;
	list-style: none;
}
h3,h5 {
	margin-bottom: 0.7rem;
}
h1.main {
	text-align: center;
	font-size: 3rem;
	font-family: 'Sofia', cursive;
}

@media only screen and (max-width: 767px) {
	body {
		padding-top: 50px;
	}
	h1.main {
		font-size: 2rem;
	}
}
h2.ttl1 {
	position: relative;
	padding: 10px 0 2px 28px;
	border-bottom: 2px solid #a8e4dd;
	margin: 1.5rem 0;
	font-size: 20px;
}
h2.ttl1:before {
	width: 10px;
	height: 10px;
	top: 55%;
	left: 0px;
	border: 1px solid #e4a8af;
}
h2.ttl1:after {
	width: 10px;
	height: 10px;
	top: 45%;
	left: 5px;
	border: 1px solid #a8e4dd;
}
h2.ttl1:before, .ttl1:after {
	content: "";
	position: absolute;
	margin: auto;
}
h3.ttl-border {
	font-size: 18px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
h3.ttl-border:before, h3.ttl-border:after {
	content: "";
	flex-grow: 1;
	height: 1.8px;
	display: block;
}
h3.ttl-border:before {
	margin-right: .4em;
	background: linear-gradient(-90deg, #a8e4dd, transparent);
}
h3.ttl-border:after {
	margin-left: .4em;
	background: linear-gradient(90deg, #a8e4dd, transparent);
}
h3.ttl2 {
	border-left:5px
	solid #a8e4dd;
	padding: 5px 0 5px 9px;
	font-size: 22px;
}
.item_margin {
	margin-top:50px;
}
.item_margin_footer {
	margin-bottom:50px;
}
.menu-color-gray {
	background: #F7F7F7;
}
.menu-color-blue {
	background: #d4e6f5;
}
.menu-color-white {
	background: #fff;
}
a.pkc-btn-link:after,
a.pkc-btn-anime:after,
div.pkc-btn-anime:after,
label.pkc-btn-anime:after,
button:after {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.line-black {
	width:50px;
	border-top: solid 2px;
	margin:  auto;
	margin-top:15px;
	margin-bottom:20px;
}
.line-blue {
	width:20px;
	border-top: solid 2px #006FC0;
	margin-top:5px;
	margin-bottom:10px;
}
.font_middle {
	font-size: 18px;
	text-align: center!important;
	font-weight: bold!important;
	margin: 14px 0;
}
@media only screen and (max-width: 767px) {
	.mb-3-sp-only {
		margin-bottom: 1rem;
	}
	.mb-4-sp-only {
		margin-bottom: 2rem;
	}
	.mb-5-sp-only {
		margin-bottom: 3rem;
	}
}

.pc-ui {
	display: block
}

@media only screen and (max-width: 767px) {
	.pc-ui {
		display: none
	}
}

.tab-ui {
	display: none
}

@media only screen and (max-width: 990px) {
	.tab-ui {
		display: block
	}
}

.sp-ui {
	display: none
}

@media only screen and (max-width: 767px) {
	.sp-ui {
		display: block
	}
}

/*********************************************/
/* ヘッダー                                  */
/*********************************************/
/*.pc-header {
background: #FFFFFF;
box-shadow: 0 0 5px rgba(0,0,0,0.1);
height: 60px;
}*/
.pc-fixed-top {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1030;
}

#global_navi {
	backface-visibility: hidden;
	/*background-color: #ffffff;*/
	background-color: rgba(255,255,255,.9);
	box-shadow: 0px 4px 8px rgba(60, 60, 60, 0.1);
	height: 60px;
	top: 0;
	width: 100%;
}
.gnav-menu {
	display: flex;
	justify-content: center;
	height: 100%;
	margin: 0 auto;
}
.gnav-menu > li {/*親階層のみli*/
	width: 8%;
	padding-top: 16px;
	padding-bottom: 14px;
}
/*全てのリスト・リンク共通*/
.gnav-menu li {
	position: relative;
}
.gnav-menu li a {
	color: #696969;
	border-right: 1px solid #eee;
	display: block;
	height: 100%;
	text-align: center;
	width: 100%;
}
/*子階層以降共通*/
.gnav-menu li > ul {
	box-shadow: 0px 4px 4px rgb(60 60 60 / 10%);
}
.gnav-menu li li {
	height: 0;
	overflow: hidden;
	transition: .5s;
	background-color: rgba(255,255,255,.9);
}
.gnav-menu li li a {
	border-top: 1px solid #eee;
	border-right: 1px solid #eee;
	color: #696969;
	display: block;
	height: 100%;
	text-align: center;
	width: 100%;
	font-size: 12px;
	padding: 10px 0;
}
.gnav-menu li:hover > ul > li {
	height: 2.5rem;
	overflow: visible;
}

@media screen and (max-width: 1200px) {
	.gnav-menu > li {
		width: 11%;
	}
}
@media screen and (max-width: 992px) {
	.gnav-menu > li {
		width: 13%;
	}
}

.sp-header {
	background: #FFFFFF;
	box-shadow: 0px 4px 8px rgba(60, 60, 60, 0.1);
	/*border-bottom: solid 1px #e5e5e5;*/
	height: 50px;
}

/*********************************************/
/* ヘッダー(SP用) アコーディオン             */
/*********************************************/
.scroll-lock {
	overflow: hidden;
	height: 100%;
}

/* originaここから   */
.hamburger-menu input{
	display: none;
}
.menu-btn {
	position: fixed;
	top: 10px;
	right: 0px;
	display: flex;
	height: 30px;
	width: 60px;
	justify-content: center;
	align-items: center;
	z-index: 90;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 2px;
	width: 20px;
	border-radius: 3px;
	background-color: #333;
	position: absolute;
}
.menu-btn span:before {
	bottom: 8px;
}
.menu-btn span:after {
	top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}
#menu-btn-check:checked ~ .menu-content {
	left: 0;/*メニューを画面内へ*/
}

.menu-content {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;/*leftの値を変更してメニューを画面外へ*/
	z-index: 80;
	background-color: #ffffff;
	opacity: 0.95;
	transition: all 0.5s;
}
.menu-content ul {
	padding: 54px 14px 0;
}
.menu-content li > ul {
	padding: 0!important;
}

.gnav-menu-sp li.list-item {
	padding: 8px 10px 8px 10px;
}
.gnav-menu-sp {
	height: 100%;
	margin: 0 auto;
}
.gnav-menu-sp > li {/*親階層のみli*/
	width: 100%;
	/*padding-top: 16px;*/
	/*padding-bottom: 14px;*/
}
.gnav-menu-sp a {
	color: #696969;
	text-decoration: none;
	width: 100%;
}
.accordion-menu-item{
	background-color: #fff;
	border-bottom: 1px solid rgba(0,0,0,.125);
}


.accordion-list a:after {
	position: absolute;
	display: block;
	content: "\F105";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	top: 50%;
	right: 2.66666667vw;
	transform: translateY(-50%);
}
.accordion-collapse {
	margin-bottom: 10px;
	font-size: 14px;
}
.accordion-collapse a {
	position: relative;
	display: block;
}
.accordion-collapse a:after {
	position: absolute;
	display: block;
	content: "\F105";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	top: 50%;
	right: 2.66666667vw;
	transform: translateY(-50%);
}

.accordion-list, .accordion-menu {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 1rem 1.25rem;
	font-size: 1rem;
	color: #696969;
	text-align: left;
	background-color: #fff;
	border: 0;
	border-radius: 0;
	overflow-anchor: none;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;
}
.accordion-menu:after{
	position: absolute;
	display: block;
	content: "\F067";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	top: 50%;
	right: 2.66666667vw;
	transform: translateY(-50%);
}

.accordion-sub-menu {
	padding: 0.6rem 0 0.6rem 1.25rem;
	background: #fafbfc;
	border: 1px solid #fff;
	overflow: visible;
	overflow: hidden;
	transition: .5s;
}

/*********************************************/
/* footer                          */
/*********************************************/
/*footer {
background-color: #222;
}*/
footer p{
	padding:15px 0;
	color: white;
}

/*********************************************/
/* 画像                           */
/*********************************************/
.img-page {
	position: relative;
	width:100%;
}

@media screen and (max-width: 767px) {
	.img-half {
		max-width: 60%;
		height: auto;
	}
	.btn-center {
		margin-left: auto!important;
		margin-right: auto!important;
	}
}

/*********************************************/
/* ボタン(画面上部へ戻る)                    */
/*********************************************/
.page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index:1000;
}
.page-top a {
	background: #E4E4D9;
	text-decoration: none;
	color: #006FC0;
	width: 50px;
	padding: 25px 0;
	text-align: center;
	display: block;
}
.page-top a:hover {
	text-decoration: none;
	background: #999;
}

.arrow-top {
	position:relative;
	bottom: 5px;
}

.arrow-top::before {
	content:  '';
	width: 15px;
	height: 15px;
	display:  block;
	border-top: solid 2px;
	border-right: solid 2px;
	transform: rotate(-45deg);
	position:  absolute;
	top: 10px;
	bottom:  0;
	left:  0;
	right:  0;
	margin:  auto;
}

/* btn */
.btn1 a {
	display: block;
	transition: all .3s ease;
	border: 1px solid #4175B7;
	background-color: #4175B7;
	border-radius: 10px;
	width: 300px;
	text-decoration: none;
}
.btn1 a span {
	display: block;
	padding: .8em;
	color: #fff;
	text-align: center;
}
.btn1 a:hover {
	border: 1px solid #7199CC;
	background-color: #7199CC;
}
.btn1 a.current {
	border: 1px solid #7199CC;
	background-color: #7199CC;
}


/*********************************************/
/* ボタン	blue  → white					   */
/*********************************************/
.case-study_show-list-blue {
	text-align: center;
}
/* ボタンカスタマイズ ここから */
.case-study_show-list-blue .pkc-btn-blue {
	max-width: 210px;
	padding-top:9px;
	padding-bottom:9px;
	padding-right: 38px!important;
}
.case-study_show-list-blue .pkc-btn-blue:hover {
	color: #006FC0;
}
/* ボタンカスタマイズ ここまで */

/*********************************************/
/* ボタン blue → white 横幅は箇所によって変更する  */
/*********************************************/
.webinar-intro .pkc-btn-blue {
	position: relative;
	background: #006FC0;
	border-radius: 0!important;
	color: #fff;
	font-size: 14px;
	max-width: 250px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.pkc-btn-blue {
	position: relative;
	background: #006FC0;
	border-radius: 0!important;
	color: #fff;
	font-size: 14px;
	max-width: 250px;
	padding-top: 8px;
	padding-bottom: 8px;
}

/* ボタン blue → white 共通*/
.pkc-btn-blue .arrow-webiner {
	border-color: transparent #fff #fff transparent;
}
.pkc-btn-blue .arrow-new {
	border-color: transparent #fff #fff transparent;
}
.pkc-btn-anime-blue {
	z-index: 2;
}
.pkc-btn-anime-blue:after {
	position: absolute;
	background: #fff;
	/*border: 1px solid #006FC0;*/
	content: '';
	z-index: -1;
	height: 100%;
	left: 0;
	top: 0;
	width: 0;
}
a.pkc-btn-link-blue:after,
a.pkc-btn-anime-blue:after,
div.pkc-btn-anime-blue:after,
label.pkc-btn-anime-blue:after,
button-blue:after{
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.pkc-btn-blue .pkc-btn-anime-blue:hover {
	color: #006FC0!important;
}
.pkc-btn-anime-blue:hover:after {
	width: 100%;
}
.pkc-btn-blue .arrow-webiner {
	display: inline-block;
	position: absolute;
	right: 0.7em;
	top: 0;
	bottom: 0.5em;
	margin: auto 0;
	width: 20px;
	height: 10px;
	border: 1px solid ;
	border-color: transparent #fff #fff transparent;
	transform: skew(40deg);
}
.pkc-btn-anime-blue:hover .arrow-webiner{
	border-color: transparent #006FC0 #006FC0 transparent;
}

.pkc-btn-blue .arrow-new {
	display: inline-block;
	position: absolute;
	right: 0.7em;
	top: 0;
	bottom: 0.5em;
	margin: auto 0;
	width: 20px;
	height: 10px;
	border: 1px solid ;
	border-color: transparent #fff #fff transparent;
	transform: skew(40deg);
}
.pkc-btn-anime-blue:hover .arrow-new{
	border-color: transparent #006FC0 #006FC0 transparent;
}
/* ボタンblue → white 共通ここまで*/

/* リスト */
ul.type1 li { padding-left: 13px; margin-bottom: 8px; background: url(img/ul_type1.png) left 0 top 11px no-repeat;}
ul.type2 li { padding-left: 13px; margin-bottom: 8px; background: url(img/ul_type2.png) left 0 top 11px no-repeat;}
ul.type3 li { padding-left: 13px; margin-bottom: 8px; background: url(img/ul_type3.png) left 0 top 11px no-repeat;}
ul.bpc li { background-position: left center; }

ul.limb1 li { margin-bottom: .1em; }
ul.limb2 li { margin-bottom: .2em; }
ul.limb3 li { margin-bottom: .3em; }
ul.limb4 li { margin-bottom: .4em; }
ul.limb5 li { margin-bottom: .5em; }

/* margin */
.mt-6 {
	margin-top: 4.5rem;
}
.mt-7{
	margin-top: 6rem;
}
.mb-6 {
	margin-bottom: 4.5rem;
}
.mb-7{
	margin-bottom: 6rem;
}

/* トップへ戻るボタン 画像 ver. */
#page_top {
	position: fixed;
	left: 1350px;
	font-size: 0%;
	z-index: 2;
}
#page_top a {
	display: block;
	width: 80px;
	height: 80px;
	background-image: url(img/btn_page_top.png);
}


/* トップへ戻るボタン  css only ver.*/
#js-pagetop{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 20px;
  bottom: 5px;
  opacity: 0.8;
}
#js-pagetop span{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#js-pagetop span::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #4175B7;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -150px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#js-pagetop span{
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #4175B7;
}

@media only screen and (max-width: 767px) {
  #js-pagetop{
    right: -20px;
    bottom: 14px;
  }
  #js-pagetop span::before{
    font-size: 20px;
    top: -120px;
  }
}

.m-txt-link::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 0.75em;
	margin-left: 0.25rem;
	background-image: url(/img/ul_type1.png);
	/*background: url(img/blank.svg) no-repeat center;*/
	background-size: contain;
}

.is-pc {
    display: block
}

@media print, screen and (max-width: 1024px) {
    .is-pc {
        display:none
    }
}

.is-pctbl {
    display: block
}

@media print, screen and (max-width: 750px) {
    .is-pctbl {
        display:none
    }
}

.is-tbl {
    display: none
}

@media print, screen and (min-width: 751px) and (max-width: 1024px) {
    .is-tbl {
        display:block
    }
}

.is-tblsp {
    display: none
}

@media print, screen and (max-width: 1024px) {
    .is-tblsp {
        display:block
    }
}

.is-sp {
    display: none
}

@media print, screen and (max-width: 750px) {
    .is-sp {
        display:block
    }
}

/* contact */
/*.textbox {
	padding-left: 0.5rem;
}
.cp_iptxt ::placeholder {
	padding-left: 0.05rem;
}
.submit-btn {
	padding: 10px;
	transition: all .3s ease;
	border: 1px solid #4175B7;
	background-color: #4175B7;
	border-radius: 10px;
	width: 100px;
	text-decoration: none;
	color: #fff;
}
@media print, screen and (max-width: 576px) {
  .submit-btn {
	  width: 100%;
  }
}
a .submit-btn:hover {
	border: 1px solid #7199CC;
	background-color: #7199CC;
	cursor : pointer;
}*/

/* contact */

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
	.inquiry th,.inquiry td {
		display: block!important;
		width: 100%!important;
		border-top: none!important;
		-webkit-box-sizing: border-box!important;
		-moz-box-sizing: border-box!important;
		box-sizing: border-box!important;
	}
	.inquiry tr:first-child th{
		border-top: 1px solid #d7d7d7!important;
	}
	/* 必須・任意のサイズ調整 */
	.inquiry .haveto,.inquiry .any {
		font-size: 10px;
	}
	.inquiry input { 
		width: 100%; 
	}
	.inquiry textarea { 
		width: 100%; 
	}
}

table.inquiry {
	margin: 20px auto;
}

.acceptance {
	text-align: center;
}


/*見出し欄*/
.inquiry th{
	 text-align:left;
	 font-size:14px;
	 color:#444;
	 padding: 8px;
	 width: 36%;
	 background:#f7f7f7;
	 border:solid 1px #d7d7d7;
}
@media only screen and (max-width: 768px) {
.inquiry th{
	 padding: 5px;
}
}
/*通常欄*/
.inquiry td{
	 font-size:13px;
	 border:solid 1px #d7d7d7;
	 padding: 10px 8px;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
	 border:solid 1px #d7d7d7;
}
/*必須の調整*/
.haveto{
 font-size:7px;
 padding:5px;
 background:#ff9393;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:7px;
 padding:5px;
 background:#4175B7;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
#formbtn{
 display: block;
 padding:1em 0;
 width: 40%;
 margin: 20px auto;
 background:#4175B7;
 color:#fff;
 font-size:18px;
 font-weight:bold;
 border-radius:2px;
 border: 1px solid #4175B7;
 transition: 0.5s;
 cursor: pointer;
}
@media only screen and (max-width: 768px) {
	#formbtn{
	 width: 100%;
	}
}

/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#fff;
 color: #4175B7;
}

#contact.container {
    width: 100%;
	padding-right: 0;
	padding-left: 0;
}
#contact h1 {
	text-align: center;
	font-size: 2.5rem;
}
@media only screen and (max-width: 767px){
	#contact h1 {
    font-size: 1.6rem;
}
}

.contact-lead {
	text-align: center;
}
@media only screen and (max-width: 768px) {
	.contact-lead {
		font-size: 14px;
	}
}

@media only screen and (min-width: 1200px) {
	#contact.container {
    max-width: 880px;
	}
}

@media only screen and (max-width: 768px) {
#contact.container {
	padding-right: 10px;
	padding-left: 10px;
}
}
.wpcf7-form-control-wrap ::placeholder {
	color: #bfbfbf;
}

.wpcf7-form-control-wrap label {
    margin-bottom: 0!important;
}
