cssCopy code /*
Theme Name: Twenty Twenty-Three Child
Template: twentytwentythree
*/
body, html {
  font-size: 14px !important;
  line-height: 2.4em !important;
  color: #575757;
  background: #fff !important;
}
body, html, h1, h2, h3, h4, h5, h6, .h-font {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" !important;
  margin: 0;
  padding: 0;
}
.mincho{
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif !important;
}
h1:not(.site-title)::before, h2::before {
  content: none !important;
}
.elementor-widget-image .elementor-image > a, .elementor-widget-image .elementor-image figure > a {
  display: block !important;
}
@media only screen and (max-width:767px) {
  h1 {
    font-size: 18pt;
  }
}
@media only screen and (min-width:768px) {
  .pc-none {
    display: none;
  }
}
@media only screen and (max-width:767px) {
  .sp-none {
    display: none;
  }
}
.mgb10 {
  margin-bottom: 10px;
}
.mgb20 {
  margin-bottom: 20px;
}
.mgb30 {
  margin-bottom: 30px;
}
.mgb50 {
  margin-bottom: 50px;
}
.mgt10 {
  margin-top: 10px;
}
.mgt20 {
  margin-top: 20px;
}
.mgt30 {
  margin-top: 30px;
}
.mgt50 {
  margin-top: 50px;
}
.font6 {
  font-size: 6pt;
}
.font8 {
  font-size: 8pt;
}
.font10 {
  font-size: 10pt;
}
.font12 {
  font-size: 12pt;
}
.font13 {
  font-size: 13pt;
}
.font14 {
  font-size: 14pt;
}
.font16 {
  font-size: 16pt;
}
.font18 {
  font-size: 18pt;
}
.font20 {
  font-size: 20pt;
}
.font22 {
  font-size: 22pt;
}
.font24 {
  font-size: 24pt;
}
.font26 {
  font-size: 26pt;
}
.font28 {
  font-size: 28pt;
}
.ftb {
  font-weight: bold;
}
.ftn {
  font-weight: normal;
}
.ftred {
  color: red;
}
.ftblue {
  color: blue;
}
.ftgreen {
  color: green;
}
.ftgray {
  color: #666;
}
.txtleft {
  text-align: left;
}
.txtcenter {
  text-align: center;
}
.txtright {
  text-align: right;
}
.text-just {
  text-align: justify;
  text-justify: inter-ideograph;
}
.text-set {
  font-feature-settings: "palt"1;
}
.bgblue {
  background: #C1DDFF !important;
  color: #333 !important;
}
.bgpink {
  background: #fcd8e9 !important;
  color: #333 !important;
}
ul, li {
  margin: 0;
}
p {
  margin: 0;
}
html body div.wprm-overlay {
  background: rgb(0, 0, 0, 0.6);
}
a, a img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none !important;
}
a:focus, *:focus {
  outline: none;
}
.inner {
  width: 100%;
  max-width: 940px !important;
  padding: 0 10px;
  margin: 0 auto;
}
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px !important;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
  display: inline-table;
}
/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
@media only screen and (max-width:767px) {
.inner {
  padding: 0 20px;
  box-sizing: border-box;
}
}
/*-------------------------------------------
menu area
-------------------------------------------*/
#menuarea a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  color: #1c1c46;
}
#menuarea a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #1c1c46;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
#menuarea a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
#menuarea ul {
padding: 0;
margin: 0;
}
#menuarea li {
  display: inline;
  padding: 10px 20px;
}
@media only screen and (max-width:767px) {
#menuarea li {
  padding: 10px;
}
}
/*-----
/*-------------------------------------------
top sub footer
-------------------------------------------*/
.topSubarea {
  display: block;
  background: url(img/arrow.png) no-repeat;
  background-position: right 50px center;
  text-align: center;
  color: #333 !important;
  padding: 50px 20px 60px 0;
}
.topSubarea h4 {
  font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
  font-size: 3em;
  line-height: 1.2em;
}
.topSubarea p {
  font-size: 1.2em;
}
.topSubarea:hover {
  color: #fff !important;
  background: url(img/arrow_hover.png) no-repeat #636363;
  background-position: right 25px center;
}
@media only screen and (max-width:767px) {
  .topSubarea {
    padding: 25px 20px 25px 0;
    background-position: right 25px center;
  }
  .topSubarea h4 {
    font-size: 2.6em;
  }
}
/*-------------------------------------------
page navi
-------------------------------------------*/
.wp-pagenavi {
  clear: both;
  text-align: center;
  margin: 30px 0 70px;
}
.wp-pagenavi a, .wp-pagenavi span {
  color: #006CB8;
  background: #fff;
  padding: 8px 15px;
  border: 1px solid #006CB8;
  margin: 0 2px;
  white-space: nowrap;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}
.wp-pagenavi a:hover {
  color: #FFF;
  background: #006CB8;
  border: 1px solid #006CB8;
}
.wp-pagenavi span.current {
  color: #fff;
  background: #006CB8;
  font-weight: normal !important;
  border: 1px solid #006CB8;
}
/*-------------------------------------------
contact area
-------------------------------------------*/
#contact-area table {
  width: 100%;
  border-collapse: collapse;
}
#contact-area th, #contact-area td {
  border: 1px solid #D1D1D1;
  padding: 30px 20px;
}
#contact-area th {
  width: 20%;
  background: #F3F3F3;
  font-weight: normal;
  text-align: left;
}
#contact-area p {
  margin: 0;
  padding: 0;
}
input[type="text"], input[type="email"], input[type="url"], input[type="tel"], textarea {
  padding: 10px;
  margin: 0 0 5px;
  width: 100%;
  border: 1px solid #D1D1D1;
  color: #575757;
}
select {
  padding: 10px;
  border: solid 1px #999;
}
#contact-area .hissu {
  font-size: 0.8em;
}
.form-subtext {
  text-align: center;
}
.wpcf7-form input[type=submit] {
  display: block;
  font-size: 1.4em;
  font-weight: bold;
  margin: 30px auto 0;
  fill: #1C1C46;
  color: #1C1C46;
  background-color: #FFFFFF;
  cursor: pointer;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-color: #1C1C46;
  border-radius: 6px 6px 6px 6px;
  padding: 20px 80px 20px 80px;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.wpcf7-form input[type=submit]:hover {
  background-color: #1C1C46;
  color: #FFF;
}
span.wpcf7-list-item {
  display: block;
}
form p {
  margin: 1rem 0;
}
@media only screen and (max-width:768px) {
  #contact-area th, #contact-area td {
    display: block;
    width: 100%;
    border-bottom: none;
    padding: 20px;
  }
  #contact-area .last {
    border-bottom: 1px solid #D1D1D1 !important;
  }
}
.works-hover {
  display: block;
  width: 100%;
  height: 199px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
.works-hover .caption {
  padding-top: 25%;
}
.works-hover .caption p {
  background: rgba(62, 114, 235, 0.80);
  color: #fff;
  text-align: center;
  padding: 7px 10px;
  width: 200px;
  margin: 0 auto;
  font-size: 12px;
}
.works-hover .mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.works-hover:hover .mask {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  opacity: 1;
}
.works_icon .vr, .works_icon .dtp, .works_icon .movie{
width: 150px;
text-align: center;
padding: 3px 0;
color: #FFF;
border-radius: 3px;
display: block;
margin: 0 auto;
}
.works_icon .vr{background: #3E50B5;}
.works_icon .dtp{background: #E50C64;}
.works_icon .movie{background: #4E7A25;}

@media only screen and (max-width:768px) {
  .works-hover {
    height: 250px;
  }
}
/*-------------------------------------------
company area
-------------------------------------------*/
.company_table table {
  width: 100%;
  border-collapse: collapse
}
.company_table tr {
  border-bottom: 1px solid #CCC;
}
.company_table th, .company_table td {
  border: none;
  padding: 30px 20px;
}
.company_table th {
  width: 25%;
  text-align: left;
}
.company_table td {
  width: 75%;
}
.company_table ul {
  margin: 0 0 0 20px;
  padding: 0;
}
.company_table p {
  font-weight: bold;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width:767px) {
  .company_table th, .company_table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  .company_table th {
    border-bottom: none;
    background: #A0A0A0;
    color: #FFF;
    padding: 10px 20px;
  }
}
/*-------------------------------------------
works block
-------------------------------------------*/
.works-hover {
display: block;
  width: 100%;
  height: 199px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
.works-hover .caption {
  padding-top: 25%;
}
.works-hover .caption p {
  background: rgba(49,52,163,0.80);
  color: #fff;
  text-align: center;
  padding: 7px 10px;
  width: 200px;
  margin: 0 auto;
  font-size: 12px;
}
.works-hover .mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.works-hover:hover .mask {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  opacity: 1; 
}

@media only screen and (max-width:768px) {
.works-hover {
  height: 250px;
}
}
/*-------------------------------------------
side contact banner
-------------------------------------------*/
.siode_banner{
position: fixed;
width: 100%;
max-width: 250px;
right: 10px;
bottom: 100px;
z-index: 99999;
-webkit-transition: all 0.6s ease;
transition: all 0.6s ease;
}

@media only screen and (max-width:1024px) {
.siode_banner{
max-width: 150px;
}
}
.siode_banner img:hover{
opacity: 0.6;
}
/*-------------------------------------------
reCAPTCHA hidden
-------------------------------------------*/
.grecaptcha-badge { visibility: hidden; }

/*-------------------------------------------
password rock form
-------------------------------------------*/
.pwrock{
max-width: 300px;
width: 100%;
display: block;
margin: 30px auto 80px;
padding: 20px;
}
.pwrock input[type="password"] {
width: 95%;
margin: 10px 0;
padding: 5px;
font-size: 1.4em;
}

.pwrock input[type=submit] {
  display: block;
  font-size: 1em;
  font-weight: bold;
  width: 100%;
  margin: 20px auto 0;
  background-color: #1C1C46;
  color: #FFF;
  border : 1px solid #1C1C46;
  cursor: pointer;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-radius: 6px 6px 6px 6px;
  padding: 10px 20px;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.pwrock input[type=submit]:hover {
  background-color: #1C1C46;
  color: #FFF;
}
.pwtitle{
background: #0000FE;
padding: 10px 5px;
margin-bottom: 10px;
text-align: center;
color: #FFF;
font-weight: bold;
font-size: 1.2em;
}


/*-------------------------------------------
news area
-------------------------------------------*/
.infoList{
margin-top: 30px;
}
.infoList ul {
  padding: 0 !important;
  margin: 0 !important;
}
.infoList li {
  list-style: none;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 10px;
  margin-bottom: 8px;
  font-size: 18px;
}
.newsDay {
  color: #D99856;
}
.infoList a {
  color: #413B31;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}
.infoList a {
color: #3D44C5 !important;
text-decoration: underline !important;
}
@media only screen and (max-width:786px) {
.infoList {
padding: 0 20px;
box-sizing: border-box;
}
.postday{
font-size: 0.8em;
}
}
/*-------------------------------------------
single page
-------------------------------------------*/
.singleArea {
  font-size: 18px;
  margin-top: 50px;
}
.singleArea h2 {
  font-size: 18pt;
  line-height: 1.4em;
  text-align: left;
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 1rem;
  border-bottom: 2px solid #CCCCCC;
  font-weight: bold;
  color: #353535;
}
.singleArea a {
color: #3D44C5 !important;
text-decoration: underline !important;
}
.singleContent {
  padding: 20px;
}
.singleDay {
  border-top: 1px dotted #ccc;
  text-align: right;
  margin-top: 20px;
  padding-top: 20px;
}
.postday{
font-size: 1.2em;
}
.post-navigation {
  overflow: hidden;
  width: 100%;
  max-width: 1000px;
  font-size: 0.8em;
  margin: 60px 0 0 !important;
}
.prev a, .next a {
  display: block;
  width: 200px;
  padding: 10px 5px;
  border: 1px solid #0000FE;
  color: #0000FE !important;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-align: center;
}
.prev a:hover, .next a:hover {
  background: #0000FE;
  color: #fff !important;
}
.prev a {
  float: left;
}
.next a {
  float: right;
}
.info-all{
  display: block;
  width: 250px;
  padding: 10px 5px;
  margin: -42px auto 50px;
  font-size: 0.8em;
  color: #fff !important;
  background: #0000FE;
  border: 1px solid #0000FE;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-align: center;
}
.info-all:hover{
opacity: 0.6;
}
.single-day{
margin: 30px 0 12px !important;
display: block !important;
text-align: right;
}
@media only screen and (max-width:1000px) {
  .prev a, .next a, .info-all {
    display: block !important;
    width: 90%;
    float: none;
    margin: 5px auto 0;
  }
   .info-all{
   margin-bottom: 30px;
   width: 90%;
   }
}
@media only screen and (max-width:786px) {
.singleArea h2 {
  font-size: 15pt;
}
}
/*-------------------------------------------
page navi
-------------------------------------------*/
.wp-pagenavi {
  clear: both;
  text-align: center;
  margin: 50px 0 70px;
}
.wp-pagenavi a, .wp-pagenavi span {
  color: #0000FE;
  background: #fff;
  padding: 8px 15px;
  border: 1px solid #0000FE;
  margin: 0 2px;
  white-space: nowrap;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none !important;
}
.wp-pagenavi a:hover {
  color: #FFF;
  background: #0000FE;
  border: 1px solid #0000FE;
}
.wp-pagenavi span.current {
  color: #fff;
  background: #0000FE;
  font-weight: normal !important;
  border: 1px solid #0000FE;
}