@charset "UTF-8";

/*----------------------------------------
 font
----------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');


/*----------------------------------------
 全体
----------------------------------------*/

html,body{
height: 100%;
}

body{
font-size: 1.5rem;
line-height: 1.5;
font-family:"Noto Serif JP","游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
/*font-family:"Noto Sans JP","游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ ",Meiryo,"MS ゴシック",sans-serif;*/
color: #333;
font-weight: 300;
-webkit-text-size-adjust: 100%;
word-wrap: break-word;
min-height: 100vh;
}

*,
*:before,
*:after{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

a,
a:link{
color: #194980;
text-decoration: none;
}

a:hover{
color: #9f1718;
}

a:visited{
color: #194980;
}

img{
max-width: 100%;
height: auto;
flex-shrink: 0;
vertical-align: bottom;
}

div,
a,
p,
img{
min-height: 0%; /* IE11設定 */
}

/*----------------------------------------
 text
----------------------------------------*/
.text_big{
font-size: 1.4vw;
}

.text_normal{
font-size: 1.2vw;
}

.text_min{
font-size: 0.9vw;
}



/*----------------------------------------
 main
----------------------------------------*/

main {
flex: 1;
display: block;
}

.header_margin {
padding: 70px 0 0 0;
}


/*----------------------------------------
 section
----------------------------------------*/

section {
width: 100%;
}

/*----------------------------------------
 page
----------------------------------------*/

.page{
width: 100%;
}

.page_inner{
width: 90%;
margin: 0 5%;
}

.page_inner_full{
width: 100%;
margin: 0 0;
}

/*----------------------------------------
 box
----------------------------------------*/

.page .box_100{
width: 100%;
margin: 0 0 0 0;
}

.page .box_98{
width: 98%;
margin: 0 1%;
}

.page .box_90{
width: 90%;
}

.page .box_80{
width: 80%;
}

.page .box_70{
width: 70%;
}

.page .box_68{
width: 68%;
margin: 0 1%;
}

.page .box_64{
width: 64%;
margin: 0 1%;
}

.page .box_60{
width: 60%;
}

.page .box_58{
width: 58%;
margin: 0 1%;
}

.page .box_50{
width: 50%;
}

.page .box_48{
width: 48%;
margin: 0 1%;
}

.page .box_43{
width: 43%;
margin: 0 1%;
}

.page .box_40{
width: 40%;
margin: 0 0;
}

.page .box_38{
width: 38%;
margin: 0 1%;
}

.page .box_31{
width: 31%;
margin: 0 1%;
}

.page .box_30{
width: 30%;
}

.page .box_28{
width: 28%;
margin: 0 1%;
}

.page .box_25{
width: 25%;
margin: 0 0;
}

.page .box_23{
width: 23%;
margin: 0 1%;
}

.page .box_20{
width: 20%;
}


/*----------------------------------------
 headline
----------------------------------------*/

.page h2{
position: relative;
font-size: 4rem;
line-height: 1.5;
font-weight: 400;
display: inline-block;
width: 100%;
margin: 50px 0 30px 0;
padding: 0 1rem;
letter-spacing: 0.5rem;
text-align: center;
color: #1e0000;
font-family: 'Cinzel Decorative', cursive;
}

.page h2.noline{
position: relative;
font-size: 3.5rem;
line-height: 1.5;
font-weight: 400;
display: inline-block;
width: 100%;
margin: 10px 0;
padding: 0 1rem;
letter-spacing: 0.5rem;
text-align: center;
color: #333;
font-family: 'Cinzel Decorative', cursive;
}

/*以下で線を表示*/
.page h2:before {
content: '';
position: absolute;
left: 50%;
bottom: -1rem;/*線の上下位置*/
display: inline-block;
width: 10%;/*線の長さ*/
height: 1px;/*線の太さ*/
transform: translateX(-50%);/*位置調整*/
background-color: #1e0000;/*線の色*/
}

/*以下で線を表示*/
.page h2.noline:before {
height: 0 !important;/*線の太さ*/
}

.page h2.noline span{
font-size: 5rem;
}

.page h3{
font-size: 2.5rem;
font-weight: normal;
display: inline-block;
margin: 0 0 0 0;
padding: 0 0;
text-align: center;
width: 100%;
}

.page h3.h3_min{
font-size: 1.5rem;
font-weight: normal;
display: inline-block;
margin: 0 0 0 0;
padding: 0 0;
width: 100%;
}

.page h4{
font-size: 1.7rem;
font-weight: normal;
display: inline-block;
margin: 0 0 0 0;
padding: 0 0;
text-align: center;
width: 100%;
}

.page h4.h4_min{
font-size: 1.4rem;
font-weight: normal;
display: inline-block;
margin: 0 0 0 0;
padding: 0 0;
text-align: center;
width: 100%;
}

.page h5{
font-size: 1.5rem;
font-weight: normal;
display: inline-block;
margin: 0 0 0 0;
padding: 0 0;
width: 100%;
line-height: 1.7;
}

.page h5.h5_min{
font-size: 1.3rem;
font-weight: normal;
display: inline-block;
margin: 0 0 0 0;
padding: 0 0;
width: 100%;
line-height: 1.7;
}

.page .text_min_70{
font-size: 70%;
}

.page .text_min_80{
font-size: 80%;
}

.page .text_min_90{
font-size: 90%;
}

.page .text_big_120{
font-size: 120%;
}

.page .text_big_130{
font-size: 130%;
}

.page .text_big_140{
font-size: 140%;
}

.page .text_big_150{
font-size: 150%;
}

.page .text_big_160{
font-size: 160%;
}

.page .text_big_200{
font-size: 200%;
}

.page .text_big_300{
font-size: 300%;
}

.title{
width: 100%;
margin: 0 0 50px;
}

.title p{
letter-spacing: 2px;
font-size: 1.5rem;
color: #1e0000;
}

.common_button {
  position: relative;
  display: block;
  width: 50%;
  padding: 1em 0;
  margin: 20px 0;
  font-size: 1.3rem;
  border: 1px solid #333;
  -webkit-transition: .5s;
  transition: .5s;
  text-align: center;
  font-family: 'Cinzel Decorative', cursive;
  color: #333 !important;
}

.common_button::after {
  background-color: #333;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  top: 6px;
  right: -6px;
  height: 100%;
  width: 1px;
}

.common_button::before {
  background-color: #333;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  bottom: -6px;
  height: 1px;
  right: -6px;
  width: 100%;
}

.common_button:hover::before {
  width: 0;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.common_button:hover::after {
  height: 0;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

@media screen and (max-width: 768px) {
  .common_button {
    width: 80%;
    padding: .7em 0;
  }
}



/*----------------------------------------
 side
----------------------------------------*/

.social{
position: fixed;
top: 0;
left: 0;
width: 5%;
height: 100vh;
z-index: 9000;
animation-name: fadeIn_social;
animation-fill-mode: forwards;
animation-duration: 0.5s;
animation-delay: 4s;
opacity: 0;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
padding: 1%;
}

@keyframes fadeIn_social {
  from {
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.social div.scroll{
margin: 10px 40%;
animation: sdb 2s infinite;
width: 20%;
}

div.scroll img{
width: 100%;
height: auto;
}

.social a{
color: #333;
}

@keyframes sdb {
0% {
transform: translate(0, 0);
opacity: 1;
}
50% {
transform: translate(0, 10px);
}
100% {
transform: translate(0, 0);
opacity: 1;
}
}


.side_nav{
position: fixed;
top: 0;
right: 0;
width: 5%;
height: 100vh;
z-index: 9000;
animation-name: fadeIn_social;
animation-fill-mode: forwards;
animation-duration: 0.5s;
animation-delay: 4s;
opacity: 0;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

.side_nav div{
margin: 0 0 10px 20%;
width: 60%;
}

.side_nav div img{
width: 100%;
height: auto;
vertical-align: bottom;
}


/*----------------------------------------
 main_v
----------------------------------------*/

.main_v {
width: 90%;
margin: 0 5%;
overflow: hidden;
position: relative;
z-index: 9900;
}

.main_v video{
position: absolute;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
transform: translate(-50%, -50%);
background: url('../lib/img/top_img.jpg') no-repeat;
background-size: cover;
}

.slide-class {
max-width: 100%;
margin: 0 auto;
}


.animation-slide{
width: 100%;
height: auto;
position: relative;
}

.animation-slide:before {
content: "";
display: block;
padding-top: 56.25%;
}

.main_v_mov{
width: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
background-color: #fff;
}

.main_v_mov_bg{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-image: url(../img/bg2.png);
background-repeat: no-repeat;
background-size: cover;
opacity: 0.5;
}

.animation-slide video{
width: 100%;
height: auto;
vertical-align: bottom;
}

.mv_text_box{
position: absolute;
top:0;
left: 0;
z-index: 8000;
}

.mv_text_box p{
font-size: 1.7vw;
background-color: #000;
color: #fff;
padding: 10px 20px;
}

/*----------------------------------------
 top
----------------------------------------*/

.top_box{
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
width: 100%;
margin: 20px 0;
}

.audirion_banner{
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
flex-direction: column;
width: 100%;
}

.audirion_banner div{
width: 48%;
margin: 0 1%;
background-color: #f5f5f5;
}


.top_box ul.news{
width: 90%;
margin: 0 5%;
display: flex;
justify-content: center;
align-items: stretch;
flex-wrap: wrap;
list-style: none;
}

.top_box ul.news li{
width: 25%;
padding: 20px;
border-left: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}

.top_box ul.news li:nth-child(odd){
border-left: none;
}

.top_box ul.news li:nth-child(even){
border-right: 1px solid #ccc;
}

.top_box ul.news li:nth-child(4n){
border-right: none;
}

.top_box ul.news li p{
font-size: 90%;
}

.top_box ul.tab_area{
width: 90%;
margin: 0 5%;
display: flex;
justify-content: space-between;
align-items: center;
list-style: none;
border-right: 1px solid #ccc;
}

.top_box ul.tab_area li{
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-right: none !important;
text-align: center;
cursor: pointer;
}

.top_box ul.tab_area li:hover{
background-color: #f5f5f5;
}

.top_box ul.tab_area li.select{
background-color: #51b6d5;
color: #fff;
}

.top_box ul.banner{
width: 100%;
margin: 0 0;
display: flex;
justify-content: center;
align-items: stretch;
flex-wrap: wrap;
list-style: none;
}

.top_box ul.banner li{
width: 25%;
padding: 20px;
border-left: 1px solid #ccc;
}

.top_box ul.banner li:last-child {
border-right: 1px solid #ccc;
}

.top_box ul.banner li.planning{
width: 20%;
border-left: none;
}

.top_box ul.banner li.planning {
border-right: none;
}

.top_box div.tw{
width: 50%;
min-height: 500px;
margin-top: 20px;
}

.top_box div.tw a{
width: 100% !important;
}

.cat{
text-align: right;
font-size: 1.1rem;
margin: 0 0 1rem 0;
}

.cat span{
display: inline-block;
padding: 2px 10px;
border-radius: 10px;
color: #fff;
}

.follow img{
width:70%;
height:auto;
margin: 0 15% 10px 15%;
}

/*----------------------------------------
 item
----------------------------------------*/

.item_box{
display: flex;
align-items: center;
justify-content: flex-start;
flex-wrap: wrap;
width: 90%;
margin: 0 5%;
min-height: 0%; /* IE11設定 */
}

.item_box .item{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 23%;
margin: 1% 1%;
min-height: 0%; /* IE11設定 */
}

.item_box .item2{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 18%;
margin: 1% 1%;
min-height: 0%; /* IE11設定 */
}

.item_box .item3{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 31%;
margin: 1% 1%;
min-height: 0%; /* IE11設定 */
}


.item_box .item img,
.item_box .item2 img,
.item_box .item3 img{
width: 100%;
height: auto;
border-radius: 10px;
}

.item_box .item p,
.item_box .item2 p,
.item_box .item3 p{
text-align: center;
}

.item_box .item3 p{
font-size: 2.5rem;
}

.item_box .item p span,
.item_box .item2 p span,
.item_box .item3 p span{
font-size: 1.2rem;
display: block;
}


ul.management_list{
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
list-style: none;
margin: 0 auto;
padding: 0 0 0 0;
width: 50%;
}

ul.management_list li{
margin: 2rem 0;
width: 50%;
text-align: center;
}

ul.management_list a{
text-align: center;
color: #fff;
width: 100%;
display: block;
padding: 1.5rem 0;
border: 1px solid #ccc;
}

ul.management_list a.opa{
opacity: 0.3;
}

ul.management_list a:hover{
opacity: 1;
}



/*----------------------------------------
 profile
----------------------------------------*/

.profile_box{
display: flex;
flex-direction: column;
width: 80%;
min-height: 800px;
margin: 20px 10%;
}

.profile_post{
width: 100%;
margin: 30px 0;
}

.profile{
display: flex;
justify-content: center;
flex-wrap: wrap;
width: 100%;
}

.profile_img{
width: 35%;
min-height: 0%; /* IE11設定 */
}

.profile_img img{
width: 100%;
height: auto;
object-fit: cover !important;
object-position: top;
}




.profile_text{
width: 57%;
margin: 0 4%;
}

.profile_text h2{
font-size: 2.5rem !important;
border-bottom: 1px solid #ccc;
margin: 0 0;
padding: 0 0;
text-align: left;
font-weight: normal;
font-family:"Noto Serif JP","游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
}

.profile_text h2 span{
font-size: 1.5rem;
display: block;
}

/*以下で線を表示*/
.profile_text h2:before {
height: 0 !important;/*線の太さ*/
}

.profile_text h3{
font-size: 2rem;
margin: 10px 0;
padding: 0 0;
text-align: left;
font-weight: normal;
color: #1aa0c5;
}

.profile_text h3 span{
font-size: 1.5rem;
display: block;
}

.profile_text h4{
font-size: 1.5rem;
color: #666;
text-align: left;
font-weight: normal;
}

p.sns{
font-size: 3rem;
}

p.sns a{
padding: 0 5px;
color: #000;
}


@-moz-document url-prefix() {
.profile_text table {
float: left;
}
}

.profile_text table {
width: 100%;
margin: 10px 0 10px 0;
border: none;
border-collapse: collapse;
border-spacing: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

.profile_text table th {
padding: 10px 5px;
border: #E3E3E3 dotted;
border-width: 0 0 1px 0;
font-weight: normal;
font-size: 1.3rem !important;
vertical-align: top;
text-align: left;
width: 30%;
font-weight: 600;
}

.profile_text table td {
padding: 10px 5px;
border: 1px #E3E3E3 dotted;
border-width: 0 0 1px 0;
font-size: 1.3rem !important;
word-break:break-all;
}


.profile_text table tr:nth-child(odd) td,
.profile_text table tr:nth-child(odd) th {  
background-color: #fff;  
}

.profile_text table tr:nth-child(even) td,
.profile_text table tr:nth-child(even) th {  
background-color: #fafafa;  
}



/*----------------------------------------
 .post
----------------------------------------*/

.post_box{
display: flex;
flex-direction: column;
width: 80%;
min-height: 800px;
margin: 1rem 10%;
}


.post{
display: flex;
flex-direction: column;
width: 100%;
margin: 0 0 3rem 0;
}


.post_inner{
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 80%;
min-height: 500px;
margin: 1rem 10%;
min-height: 0%; /* IE11設定 */
}

.post_inner div{
display: flex;
flex-wrap: wrap;
width: 100%;
min-height: 0%; /* IE11設定 */
}

.post_inner p{
max-width: 100%;
min-height: 0%; /* IE11設定 */
}

.post .date{
font-size: 1.3rem;
text-align: right;
}

.post h2{
display: block;
font-size: 2.2rem;
line-height: 1.5;
font-weight: 300;
margin: 2rem 0 3rem 0;
padding: 1rem;
border-bottom: 1px solid #666;
font-family:"Noto Serif JP","游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
}

/*以下で線を表示*/
.post h2:before {
height: 0 !important;/*線の太さ*/
}



.post h3{
display: block;
font-size: 2rem;
line-height: 1.5;
font-weight: normal;
margin: 1rem 0;
padding: 1rem 0;
}

.post h2.kyonyu_h2{
display: block;
font-size: 2.2rem;
line-height: 1.5;
font-weight: 300;
margin: 1rem 0;
border: none;
}

.post h2.kyonyu_h2 span.kyonyu_span{
font-size: 3rem;
font-weight: bold;
color: red;
}

.post h2.kyonyu_h2_2{
display: block;
font-size: 2.2rem;
line-height: 1.5;
font-weight: 300;
margin: 1rem 0;
padding: 1rem;
border-bottom: 1px solid #666;
}


.post h4{
display: block;
font-size: 1.8rem;
line-height: 1.5;
font-weight: normal;
margin: 1rem 0;
padding: 1rem 0;
}


.post .kyonyu_box{
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-wrap: wrap;
width: 100%;
}



.post .kyonyu_left{
width: 23%;
margin-top: 20px;
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-wrap: wrap;
}

.post .kyonyu_left img{
width: 100% !important;
height: auto !important;
}

.post .kyonyu_right{
width: 73%;
}


@-moz-document url-prefix() {
.post table {
float: left;
}
}

.post table {
width: 90%;
margin-bottom: 20px;
margin-top: 20px;
margin-left: 5%;
margin-right: 5%;
border: 1px #E3E3E3 solid;
border-collapse: collapse;
border-spacing: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

.post table th {
padding: 10px 0 10px 10px;
border: #E3E3E3 solid;
border-width: 0 0 1px 1px;
background: #F5F5F5;
font-weight: normal;
vertical-align: top;
text-align: left;
}

.post table th.sortth {
cursor: pointer; 
}

.post table td {
padding: 5px 0 5px 10px;
border: 1px #E3E3E3 solid;
border-width: 0 0 1px 1px;
word-break:break-all;
}

.post table td p {
font-size: 13px !important;
line-height: 20px !important;
}


.post table tr:nth-child(odd) td {  
background-color: #fafafa;  
}

.post table tr:nth-child(even) td {  
background-color: #fff;  
}  
 
.post table th span{
color:#666666;
font-size:12px;
line-height: 18px;
display: block;
}

.post table td span{
color:#666666;
font-size:11px;
line-height: 18px;
display: block;
}


.post table td p{
color:#666666;
font-size:12px;
line-height: 18px;
}

.post table td img{
display: block;
}



/*-------お問い合わせ-------*/

table.table_info {
width: 90%;
border-collapse: separate;
border-spacing: 0;
margin-left: 5%;
margin-right: 5%;
border: none;
table-layout: fixed;
word-break: break-all;
word-wrap: break-all;
}

table.table_info th,
table.table_info td {
padding: 10px;
border: none;
border-bottom: 1px solid #ccc;
}

table.table_info th {
text-align: left;
white-space: nowrap;
font-weight:normal;
font-size: 90%;
}

table.table_info th span{
font-size:12px;
line-height: 18px;
display: block;
}

table.table_info td {
white-space: nowrap;
}

table.table_info td p{
font-size:12px;
line-height: 18px;
}

table.table_info tr:nth-child(odd) td {  
background-color: #fff;  
}

table.table_info tr:nth-child(even) td {  
background-color: #fff;  
}  
 

.table_info textarea{
border:solid 1px #cccccc;
font-size:13px;
line-height: 20px;
border-radius: 5px;
padding:5px;
width: 90%;
}


.table_info input[type="text"]{
font-size:100%;
padding:10px;
border:solid 1px #cccccc;
margin:2px 10px 5px 0px;
border-radius: 5px;
}

.table_info input[type="tel"]{
font-size:100%;
padding:10px;
border:solid 1px #cccccc;
margin:2px 10px 5px 0px;
border-radius: 5px;
}

.table_info input[type="email"]{
font-size:100%;
padding:10px;
border:solid 1px #cccccc;
margin:2px 10px 5px 0px;
border-radius: 5px;
width: 80%;
}

.table_info select::-ms-expand {
	display: none;
}
.table_info select {
	font-size:100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-bottom: 5px;
	padding: 10px 30px 10px 10px;
	border-radius: 5px;
	border: 1px solid #ccc;
	background-image: url(../img/icon_arrow.png);
	background-repeat: no-repeat;
	background-size: 12px 10px;
	background-position: right 10px center;
	background-color: #fff;
}


.submit-button{
text-align: center;
}

.wpcf7c-btn-confirm,
.wpcf7-back,
.wpcf7-submit {
padding: 15px 50px;
margin: 0 5px;
height: auto;
border-radius: 10px;
color: #fff;
cursor: pointer;
font-size: 18px;
}

.wpcf7c-btn-confirm,
.wpcf7-submit {
background-color: #e85382;
border: 1px solid #e85382;
}

.wpcf7-back {
background-color: #666;
border: 1px solid #666;
}

.wpcf7-custom-item-error{
color: red;
}


.button_area{
width:100%;
text-align: center;
padding-top: 20px;
padding-bottom: 20px;
}



.wpcf7-not-valid{
    background: #FDD;
}
 
.wpcf7-response-output{
    position: relative;
    margin-right: 0;
    margin-left: 3em;
    opacity: 0;
}
 
.wpcf7-response-output[role=alert]{
    border: none;
    margin-right: 0.5em;
    margin-left: 0.5em;
    opacity: 1;
    transition: all .5s ease-in-out;
}
 
.wpcf7-response-output[role=alert]:before{
    content: "\002716";
    margin-right: 0.5em;
    color: #F99;
    vertical-align: middle;
}
 
.wpcf7-mail-sent-ok[role=alert]:before{
    content: "\002714";
    color: #3F7;
}
 
.wpcf7-response-output:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all .5s ease-in-out;
}
 
.wpcf7-mail-sent-ok[role=alert]:after{
    width: 100%;
    border-bottom: solid 1px #3F7;
}

span.wpcf7-not-valid-tip {
	color: red !important;
	font-weight: 600 !important;
}




@media screen and (max-width: 835px){


table.table_info {
width: 100%;
margin-left: 0 !important;
margin-right: 0 !important;
}

}


.atsu_banner{
width: 100%;
height: auto;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
list-style: none;
}

.atsu_banner li{
width: 23% !important;
margin: 0 1%;
}



.kyonyu_bg{
background-image: linear-gradient(60deg, #abecd6 0%, #fbed96 100%);
}


.kyonyu_bg2{
background-image: url(../img/p01.jpg);
background-repeat: no-repeat;
background-size: contain;
}



.kyonyu_btn{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
margin: 20px 0 50px 0 !important;
}

.kyonyu_btn p{
width: 40%;
margin: 0 2%;
}

.kyonyu_btn p img{
width: 100%;
height: auto;
}

.kyonyu_btn2{
position: fixed;
bottom:0;
left:5%;
width: 5%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.kyonyu_btn2 div{
width: 100%;
height: auto;
}


.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}




/*----------------------------------------
 etc
----------------------------------------*/

.google-map {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*----------------------------------------
 footer
----------------------------------------*/


footer {
display: flex;
align-items: center;
justify-content: center;
height: 100px;
background-color: #f0f0f0;
}

.footer_copy{
font-size: 1.2rem;
}


/*----------------------------------------
 pc/sp
----------------------------------------*/

.pc{
display: block !important;
}

.sp{
display: none !important;
}

.text_center_pc{
text-align: center;
}

.text_center_sp{
text-align: left;
}


/*----------------------------------------
 wp
----------------------------------------*/

.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }
