@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.1.1
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/*ヘッダー詰める*/
.entry-title,
.content {
padding: 0;
margin: 0;
}

#main{
Padding: 0;
margin: 0;
background-color: transparent;
	letter-spacing: 0.1em;
	font-family:'Century Gothic';
}

#navi .navi-in > ul > li{
  border-left: 1px solid #eeeeee;
	display: table;
}

#navi .navi-in > ul > li:last-child{
  border-right: 1px solid #eeeeee;
}

.navi-in > ul > .menu-item-has-children > a::after{ 
  right: 10px; 
}

.navi-in a{
	font-size:14px !important;
}

#navi ul li a:hover{
background:#c7d6ea; /*メインメニューにポインタを置いたときの背景色*/
}
ul.sub-menu li {
height: 40px; /*メニューの高さ（縦幅）*/
line-height: 40px; /*ナビ全体の高さ（縦幅）*/
background:#c7d6ea; /*メインメニューにポインタを置いたときの背景色*/
}
ul.sub-menu li a {
position:relative;
color: #ffffff;
}
ul.sub-menu li a:hover {
font-weight:bold;
color: #ffffff !important; /*サブメニューにポインタを置いたときの文字色*/
background-color:#2a4073 !important;
}
ul.sub-menu li a:after{
	content:"";
	display:block;
	width:5px;
	height:5px;
	border-top: #ffffff 1px solid;
	border-right: #ffffff 1px solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
	right: 15px;
	top:0;
	bottom:0;
	margin:auto;
}

.logo-header
	{
	display:none;
}

.entry-content{
	margin:0;
	padding:0;
}

.article-footer.entry-footer {
	display: none;
}

p{
	margin:1em 0;
}

/*タイトル、投稿日時、投稿者の非表示*/
.page .entry-title,
.page .date-tags,
.page .author-info{
  display: none;
}

/*hタグリセット*/
.article h1 {
    padding: 0;
    background: none;
}
.article h2 {
    padding: 0;
    background: none;
}
.article h3 {
    border: none;
    padding: 0;
}
.article h4 {
    border: none;
    padding: 0;
}
.article h5 {
    border: none;
    padding: 0;
}
.article h6 {
    border: none;
    padding: 0;
}

.article h1 {
	padding:0.5em 0;
	margin:0;
	font-weight:bold;
	font-size:230%;
	text-align:center;
}

.cover h1 {
	padding:1.25em 0;
}

.article h2 {
  position: relative;
  padding: 0.5em 1.5rem calc(0.75rem + 10px);
  background: #ffffff;
	color:#2a4073;
}

.article h2:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 2px solid #2a4073;
}

.font1 {
	padding:0;
	margin:0.5em 0;
	font-weight:600;
	font-size:130%;
	color:#2a4073;
}

.sfont{
	font-size:14px;
	font-weight:normal;
}

.tel{
	font-size:300%;
	font-weight:bold;
}

.icon{
	font-size:130%;
}

a{
	text-decoration:none;
	color:#2a4073;
}

/*ボックス*/

contents{
  display: flex;
	justify-content:center;
  flex-wrap: wrap;
	padding:0 2em;
	margin:0 !important;
}

box3{
	width:1160px;
	padding:2em 0 3em 0;
}

.boxin2 {
  display: flex;
	justify-content:center;
  flex-wrap: wrap;
}

.con {
  width:33.3%;
  padding: 0.75em 1.5em;
  margin-bottom: 0.5em ;
}

.con2 {
  width:66.7%;
  padding: 0.75em 1.5em;
  margin-bottom: 0.5em ;
}

.con3 {
  width:50%;
  padding: 0.75em 1.5em;
	margin:0;
}

.con4 {
  width:100%;
  padding: 0.75em 1.5em;
}

.step1 {
  width:30%;
	background-color:#2a4073;
	text-align:center;
	color:#ffffff;
	font-size:200%;
	border-radius: 7px 0px 0px 7px;
	height:120px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.step2 {
  width:70%;
	border-radius: 0px 7px 7px 0px;
	background-color:#f7f7f7;
	font-size:180%;
	color:#2a4073;
	padding:0 1em;
  display: flex;
  justify-content: left;
  align-items: center;
	font-weight:bold;
}

.step3 {
  width:18%;
	border-radius: 7px;
	background-color:#f7f7f7;
	color:#2a4073;
	padding:1.5em 0 0 0;
	margin:0.5em;
	text-align:center;
	font-size:120%;
	font-weight:bold;
}

/*-----------メイン画像スライド-----------*/
.box {
  position   : relative;
  max-width  : 1920px;
  height     : 500px;
  margin     : auto;
  overflow   : hidden;
}

.box .bgImg {
  position   : absolute;
  top        : 0;
  left       : 0;
  bottom     : 0;
  right      : 0;
  opacity    : 0;
  animation  : bgAnime 10s infinite;   /* 4画像 × 各5s = 20s */
	filter: brightness(90%) saturate(150%);
}

.box .src1 {
	background: url('http://complete-okinawa.com/wp-content/uploads/2021/08/209904_m.jpg') center center;   /* 背景の画像を指定 */
	background-repeat:no-repeat;
	background-size:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.box .src2 {
	background: url('http://complete-okinawa.com/wp-content/uploads/2024/03/7966bae78213db11914ad7af893f8431.png') center center;   /* 背景の画像を指定 */
	background-repeat:no-repeat;
	background-size:100%;
	display: flex;
	justify-content: center;
	align-items: center;
  animation-delay  : 5s;
}

@keyframes bgAnime {
   0% { opacity: 0; }
  25% { opacity: 1; }
  50% { opacity: 1; }
  75% { opacity: 1; }
 100% { opacity: 0; }
}

.box .boxString{
  position   : absolute;
  display    : inline-block;
  padding    : 0 5em;
  top        : 50%;                               /* 中央寄せ */
  left       : 50%;
  transform  : translate(-50%,-50%);
  z-index    : 11;
	color:#ffffff;
	text-align:center;
}

.menu1,
.menu2,
.menu3
{
position: relative;
overflow: hidden;
width: 32%;
height: 200px;
margin:0.25em;
text-align:center;
	font-size:150%;
	font-weight:bold;
	letter-spacing: 0.1em;
}

.menu1:after,
.menu2:after,
.menu3:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
	filter: brightness(80%) saturate(150%);
}
.menu1:after{
background: url('http://complete-okinawa.com/wp-content/uploads/2021/08/1352956_m.jpg') top center;
background-size:100%;
}
.menu2:after{
background: url('http://complete-okinawa.com/wp-content/uploads/2021/08/22046194_s.jpg') center center;
background-size:100%;
}
.menu3:after{
background: url('http://complete-okinawa.com/wp-content/uploads/2021/08/1090673_m.jpg') center center;
background-size:100%;
}

.menu1:hover:after,
.menu2:hover:after,
.menu3:hover:after {
opacity: .8;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.menu1 a,
.menu2 a,
.menu3 a
{
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 100;
height: 100%;
text-decoration: none;
color: #fff;
}

.cover{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;	
	position: relative;
z-index: 0;
	color:#ffffff;
	margin-bottom:1.5em !important;
	background-image: url('http://complete-okinawa.com/wp-content/uploads/2021/08/528003_l-scaled.jpg');
}

.cover::before{
content: '';
position: absolute;
width: 100%;
height: 100%;
background: inherit;
filter: brightness(90%) saturate(150%);
/* 最背面へ */
z-index: -1;
}

/*-----------ボタン-----------*/
.article .btn-flat-logo {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.75em 2em;
  text-decoration: none;
	background-color:#c4392a;
  transition: .4s;
	margin:1em 0;
	border:1px solid #ffffff;
	color:#ffffff;
	font-size:120%;
}

.article .btn-flat-logo:hover {
	opacity:0.7;
}

.article .btn-flat-logo2 {
  position: relative;
  display: inline-block;
  font-weight: normal;
  padding: 0.75em 1.5em;
  text-decoration: none;
	background-color:#ffffff;
  transition: .4s;
	margin:0.5em;
	color:#000000;
	min-width:170px;
	border-radius: 5px;
}

.article .btn-flat-logo2:hover {
	color:#e70014;
}

/*-----------ブログ横幅調整-----------*/
.post-template-default .content,
.archive .content,
.category .content{
	max-width:1250px;
	padding:2em;
	margin:0 auto;
}
.post-template-default .content h1{
	font-size:200%;
	color:unset;
	text-align:unset;
}

/*-----------テーブル-----------*/

.article table{
	margin:0;
}

.container table tr{
  background-color: transparent;
}
.article td {
  border: 1px solid transparent;
	padding:1em 1.5em;
	font-size:100%;
}

/*------------メールフォーム------------*/

@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 th{
 text-align:left;
 color:#ffffff;
 padding:0.75em 1.5em;
 border:solid 1px #ababab;
	font-weight:normal;
	background-color:#153569;
	font-size:100%;
}
/*通常欄*/
.inquiry td{
 border:solid 1px #ababab;
	padding:0.75em 1em;
	background-color:#ffffff;
}

/*必須の調整*/
.haveto{
 font-size:80%;
 padding:5px;
 background:#ff9393;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:80%;
 padding:5px;
 background:#93c9ff;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}


/*-----------Q&A-----------*/
dl.qa {
 overflow: hidden;
 _zoom: 1;
}
 
dl.qa dd,
dl.qa dt {
 text-indent: -2.6em; 
 padding: 0 20px 0px 50px;
	font-size:120%;
}
 
dl.qa dt {
 margin: 20px 20px 0 0;
	font-weight:bold;
}
 
dl.qa dd:first-letter,
dl.qa dt:first-letter {
 font-size: 1.6em;
 font-weight: bold;
 margin-right: 10px;
 padding: 5px;
}
 
dl.qa dd {
 margin: 10px 0 -1px 0;
 padding-bottom: 20px;
}
 
dl.qa dt:first-letter {
 color: #3498db;
}
 
dl.qa dd:first-letter {
 color: #ff6767;
}

/*追従バナー*/
.floating-banner {
    position: fixed; /* 追従 */
    z-index: 99999; /* 他の要素の下に隠れないように */
    bottom: 50px; /* バナーの上下の位置 */
    right: 1%; /* バナーの左右の位置 */
}
.pc {
	width:200px; /* バナーの横幅を指定 */
}
.floating-banner:hover
{
    opacity: .8; /* ホバーで少し透過 */
}
.sp {
    display: none; /* PCではスマホ用のバナーは非表示に */
}

@media screen and (max-width: 990px) { /* タブレット用のブレイクポイントを指定 */
    .pc {
        display: none; /* タブレットサイズ以下でPC用のバナーを非表示に */
    }
    .sp {
        display:inline-block; /* タブレットサイズ以下でPC用のバナーを非表示に */
    }
}

@media screen and (max-width: 560px) { /* スマホ用のブレイクポイントを指定 */
   .pc {
        display: none; /* タブレットサイズ以下でPC用のバナーを非表示に */
    }	
    .sp {
        display: inline-block; /* 消していたスマホ用のバナーを表示させる */
    }	
    .floating-banner  {
        top: unset; /* PCで指定していた上下の位置指定をクリア */
        right: 0; /* 左右の隙間が空かないように */
        top: 5%; /* 画面の最下部にぴったりくっつくように指定 */
    }
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
.step1 {
	font-size:150%;
	height:130px;
}
.step2 {
	font-size:130%;
}
.step3 {
  width:45%;
}
dl.qa dd,
dl.qa dt {
 text-indent: 0em; 
 padding: 0 10px;
	font-size:100%;
}
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
.box {
  height     : 230px;
}
.box .boxString{
  padding    : 0 2em;
	width:100% !important;
}
.box .boxString img{
	width:20%;
}
.article h1 {
	font-size:150%;
}
.article h2 {
font-size:120%;
}
.tel{
	font-size:180%;
}
.menu1,
.menu2,
.menu3
{
	width: 80%;
	height: 150px;
	font-size:130%;
}
.con {
  width:100%;
  padding: 0.75em;
}
.con2 {
  width:100%;
  padding: 0.75em;
}
.con3 {
  width:100%;
  padding: 0.75em;
	margin:0;
}
.con4 {
  width:100%;
  padding: 0.75em;
}
.step3 {
  width:100%;
}
}
