@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@400;500;600;700;900&family=Roboto:wght@300;400;500;700;900&display=swap');
*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
}

*::before,
*::after{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
  font-weight: 500;
  letter-spacing: 0.035em;
}

body{
  color:#242424;
  font-size: 16px;
  font-weight: 500;
  /* font-family:'メイリオ', 'Meiryo', sans-serif; */
  letter-spacing: 0.035em;
  font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
  /* word-break: break-all; */
}

body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

input[type="text"],
input[type="submit"],
input[type="number"],
input[type="password"],
textarea,
select{
  border: none;
  background: none;
  display: block;
  font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
  letter-spacing: 0.035em;
  font-feature-settings: 'palt';
  touch-action: manipulation;
  resize: none;
}

img{
  display: block;
  object-position: center;
}

main{
  overflow: hidden;
  padding-top: 80px;
}

.hide{
  display: none!important;
}


/*
------------------------------------------
共通アニメーション
------------------------------------------
*/

/*マウスホバーでの透過*/
.common_hover_opa{
  transition: 0.4s;
}

@media(any-hover:hover){
  .common_hover_opa:hover{
    opacity: 0.5;
  }
}


/*ボタンクリックでのローディング表示*/
.loading_button{
  position: relative;
}

.click_rock{
  pointer-events: none!important; 
  opacity: 0.5;
}

.loader_frame{
  position: absolute;
  right:-20px;
  top:-20px;
  opacity:0;
}

.click_rock .loader_frame{
  opacity:1;
}

.loader {
  margin: auto;
  font-size: 6px;
  width:8px;
  height:8px;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  pointer-events: none;
}
@-webkit-keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.5), -1.8em -1.8em 0 0em rgba(0,0,0, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.5), 1.8em -1.8em 0 0em rgba(0,0,0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.5), 2.5em 0em 0 0em rgba(0,0,0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.5), 1.75em 1.75em 0 0em rgba(0,0,0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.5), 0em 2.5em 0 0em rgba(0,0,0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.5), -1.8em 1.8em 0 0em rgba(0,0,0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.5), -2.6em 0em 0 0em rgba(0,0,0, 0.7), -1.8em -1.8em 0 0em #000000;
  }
}
@keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.5), -1.8em -1.8em 0 0em rgba(0,0,0, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.5), 1.8em -1.8em 0 0em rgba(0,0,0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.5), 2.5em 0em 0 0em rgba(0,0,0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.5), 1.75em 1.75em 0 0em rgba(0,0,0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.5), 0em 2.5em 0 0em rgba(0,0,0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.5), -1.8em 1.8em 0 0em rgba(0,0,0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.5), -2.6em 0em 0 0em rgba(0,0,0, 0.7), -1.8em -1.8em 0 0em #000000;
  }
}


/*
------------------------------------------
共通パーツ
------------------------------------------
*/

.container{
  max-width:1100px;
  margin:0 auto;
}

/*
------------------------------------------
共通パーツ サイドバー
------------------------------------------
*/

#sidebar{
  width:400px;

}

#sidebar .sideber_section{
  position: relative;
  padding:40px 0 48px;

}

#sidebar .sideber_section::before{
  content:"";
  width:100%;
  height:1.5px;
  background-color: #CBCBCB;
  position: absolute;
  top:0;
  left:0;
}

#sidebar .sideber_section::after{
  content:"";
  width:31%;
  height:2.5px;
  background-color: #242424;
  position: absolute;
  top:-0.5px;
  left:0;
  z-index: 1;
}

#sidebar .sideber_head{
  font-weight: 600;
  font-size: 20px;
}

#sidebar .select_frame{
  position: relative;
  margin-top: 20px;
}

#sidebar select{
  display: block;
  width:100%;
  height:50px;
  border:1px solid #707070;
  padding:0 16px;
  font-size: 16px;
  font-weight: 600;
}

#sidebar .tag_list{
  display: flex;
  flex-wrap: wrap;
}

#sidebar .tag_list a{
  color:#242424;
  font-weight: 500;
  margin-right: 8px;
  margin-top: 8px;
}

#sidebar .tag_list a span{
  color:#63B8E0;
}

#sidebar .sidebar_min_head{
  font-size: 18px;
  line-height: 1.2;
  padding-bottom: 4px;
  border-bottom: 3px solid #242424;
}
/*
------------------------------------------
共通セクション (ヘッダー)
------------------------------------------
*/


/*ヘッダー*/
header{
  position: fixed;
  top:0;
  left:0;
  z-index:100;
  background-color: #fff;
  width:100%;
}

header .header_container{
  max-width:1100px;
  margin:0 auto;
}


header .header_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  
}

header .header_logo{
  display: block;
}

header .header_logo img{
  width:auto;
  height:40px;
}


header .header_right{
  display: flex;
  justify-content: center;
  align-items: center;
}

header nav{

}

header nav .parent_list{
  display: flex;
  align-items: center;
}

header nav .parent_item{
  margin-left: 20px;
  height:80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

header nav .has_child{
  position: relative;
  cursor: default;
}

header nav .has_child:after{
  content:"";
  width:6px;
  height:6px;
  border-right:1px solid #000;
  border-bottom:1px solid #000;
  position: absolute;
  transform: rotateZ(45deg);
  bottom:16px;
}

header nav .parent_item .parent_link{
  /* font-size: 18px; */
  line-height: 1;

  color:#242424;
  white-space: nowrap;
  font-weight: bold;
  transition-duration: 0.4s;
}

header nav .has_child:hover .parent_link,
header nav .parent_item .parent_link:hover{
  color: #c03425;
}

header .child_menu{
  position: absolute;
  top:100%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: #fff;
  padding:16px 24px;
  border-left:2px solid #c03425;
  min-width:100%;
  transition-duration: 0.4s;
  opacity: 0;
  pointer-events: none;
}

header .child_menu.show{
  opacity: 1;
  pointer-events: auto;
}

header .child_item{
  margin-bottom: 12px;
} 

header .child_item:last-child{
  margin-bottom: 0;
}

header .child_link{
  color:#242424;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  font-size: 15px;
  transition-duration: 0.4s;
}

header .child_link:hover{
  color:#c03425;
}


header .header_right .border{
  width:1px;
  height:60px;
  background-color: #707070;
  margin:0 40px;
}

header .header_right .search_link{
  display: block;
  width:48px;
  border-radius: 50%;
  margin-right: 10px;
}

header .header_right .search_link img{
  width:100%;
}

header .header_right .mypage_link{
  display: block;
  width:48px;
  border-radius: 50%;
  position: relative;
}

header .header_right .mypage_link img{
  width:100%;
}

header .header_right .mypage_link p{
  position: absolute;
  color:#242424;
  top:101%;
  white-space: nowrap;
  font-size: 10px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


/*
------------------------------------------
共通セクション (snsセクション)
------------------------------------------
*/

.common_sns_section{
  /* padding:80px 0; */
  padding:40px 0;
  background-color: #fff;
  /* display: none; */
}

.common_sns_section .follow_text{
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  text-decoration: underline;
  font-size: 40px;

}

.common_sns_section .sns_list{
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_sns_section .sns_list .sns_link{
  margin:0 24px;
}

.common_sns_section .sns_list .sns_link img{
  height:40px;
}

/*
------------------------------------------
共通セクション (フッター)
------------------------------------------
*/


footer{
  padding:32px 0 40px;
  border-top:1px solid #000;
  /* background-color: #C03425; */
}

footer .footer_text01{
  display: flex;
  justify-content: center;
  text-align: center;
}

footer .footer_logo{
  display: block;
  margin:32px auto 0;
  width:122px;
}

footer .footer_logo img{
  width:100%;
}

footer .footer_text02{
  width: fit-content;
  margin:32px auto 0;
  text-align: center;
}

footer .footer_text02 span,
footer .footer_text02 a{
  text-decoration: underline;
  color: #63B8E0;
}

footer .copy{
  width: fit-content;
  color:#242424;
  font-size: 14px;
  margin: 40px auto 0;
}

footer .copy span,
footer .copy a{
  text-decoration: underline;
  color: #63B8E0;
}

/*
------------------------------------------
共通セクション (パンクズ)
------------------------------------------
*/

.common_bread_section{
  padding:16px 0;
}

.common_bread_section .bread_list{
  display: flex;
  flex-wrap: wrap;
}

.common_bread_section .bread_list li{
  margin-bottom: 12px;
}

.common_bread_section .bread_list li a{
  color:#242424;
  line-height: 1.4;
}

.common_bread_section .bread_list .arrow{
  width:6px;
  padding-top: 8px;
  margin:0 10px;
  margin-bottom: 12px;
}

.common_bread_section .bread_list .arrow img{
  width:100%;
}

.common_bread_section .bread_list li span{
  font-weight: 500;
  line-height: 1.4;
}

/*
------------------------------------------
共通セクション (下層ページmv)
------------------------------------------
*/

.common_page_mv_section{
  position: relative;
  height:430px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.common_page_mv_section .mv{
  position: absolute;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit: cover;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.common_page_mv_section .page_title{
  width:1100px;
  max-width: 100%;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.3;
  color: #fff;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.16);

}

/*
------------------------------------------
トップページ
------------------------------------------
*/

body.top_body{
  
}

main.top_main{

}

.top_section{

}

.top_section01{
  position: relative;
}

.top_section01 .mv_plan_block{
  display: flex;
  justify-content: center;
  /* align-items: center; */
  
}

.top_section01 .mv_plan_block .img_area{
  width:calc(100% - 450px);
  max-width:1000px;
  height:580px;
  cursor: pointer;
}

.top_section01 .mv_plan_block .img_area img{
  width:100%;
  height:100%;
  object-fit: cover;

}

.top_section01 .mv_plan_block .text_area{
  width:450px;
  flex-shrink: 0;
  padding-left: 36px;
  padding-right: 64px;
  padding-top: 72px;
  padding-bottom: 72px;
}

.top_section01 .mv_plan_block .info_flex{
  display: flex;
  align-items: center;
}

.top_section01 .mv_plan_block .info_flex .new_text{
  margin-right: 12px;
  width: 45px;
  height: 22px;
  border-radius: 11px;
  background: #c03425;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 12px;
  line-height: 1;
  color: #fff;
}

.top_section01 .mv_plan_block .info_flex .cat{
  font-weight: normal;
  line-height: 1.2;
  color: #bababa;
}

.top_section01 .mv_plan_block .plan_title{
  margin-top: 8px;
  font-weight: bold;
  font-size: 33px;
  line-height: 1.5;
  color: #242424;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.top_section01 .mv_plan_block .plan_title:hover{
  text-decoration: underline;
}

.top_section01 .mv_plan_block .plan_bookmark_switch{
  cursor: pointer;
  width: fit-content;
  max-width: 100%;
  border-radius: 60px;
  background: #fff;
  border: 1px solid #bababa;
  display: flex;
  align-items: center;
  padding:6px 12px 6px 6px;
  margin-top: 24px;
}

.top_section01 .mv_plan_block .plan_bookmark_switch .plan_bookmark_icon{
  width: 32px;
  height: 32px;
  background-color: #e8e8e8;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 6px;
}

.top_section01 .mv_plan_block .plan_bookmark_switch .plan_bookmark_icon::after{
  content:"";
  width:14px;
  height:18px;
  background-image: url('../img/common/bookmark_gray.png');
}

.top_section01 .mv_plan_block .plan_bookmark_switch.delete .plan_bookmark_icon::after{
  background-image: url('../img/common/bookmark_on.png');
}

.top_section01 .mv_plan_block .plan_bookmark_switch p{
  font-weight: normal;
  line-height: 1; 
  color:#BABABA;
}

.top_section01 .mv_plan_block .release_date{
  margin-top: 12px;
  font-weight: bold;
}

.top_section01 .mv_plan_block .updare_date{
  margin-top: 4px;
}


.top_section02{
  
}

.top_section02 .scroll_display{
  position: absolute;
  bottom:0;
  left:-40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top_section02 .scroll_display .scroll_text{
  width:10px;
  margin-bottom: 12px;
}

.top_section02 .scroll_display .scroll_border{
  width: 1.5px;
  height: 110px;
  background-color: #bababa
}

.top_section02 .white_box{
  position: relative;
  z-index:1;
  width:calc(100% - 80px);
  max-width:1500px;
  margin:-50px 0 0 auto;
  padding:32px 0 40px 40px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.16);
  background-color: #fff;
}


.top_section02 .white_box .flex{
  display: flex;
  align-items: center;
}


.top_section02 .main_block{
  display: block;
}

.top_section02 .main_block .thumb{
  width:270px;
  height:154px;
}

.top_section02 .main_block .thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  flex-shrink: 0;
}

.top_section02 .border{
  width:1px;
  height: 209px;
  background-color: #e8e8e8;
  margin:0 40px;
  flex-shrink: 0;
}

.top_section02 .swiper_block{
  width:100%;
  position: relative;
}

.top_section02 .swiper_block .top_pickup_prev,
.top_section02 .swiper_block .top_pickup_next{
  position: absolute;
  z-index:10;
  width:40px;
  height:40px;
  border-radius: 50%;
  cursor: pointer;
  top:0;
  left:auto;
}

.top_section02 .swiper_block .top_pickup_prev{
  /* right:152px; */
  left:calc(50% + 300px);
  
}

.top_section02 .swiper_block .top_pickup_next{
  /* right:82px; */
  left:calc(50% + 380px);
}

.top_section02 .head_flex{
  display: flex;
  align-items: center;
  margin-bottom: 40px;
  color: #242424;
}

.top_section02 .head_flex p{
  font-weight: bold;
  font-size: 30px;
  line-height: 1;
  margin-right: 16px;
}

.top_section02 .head_flex .more_text{
  font-weight: normal;
  padding-bottom: 4px;
  color: #242424;
  line-height: 1;
  border-bottom:2px solid #242424;
}

.top_section02 .swiper-slide{
  padding-right: 32px;
  display: flex;
  align-items: flex-start;
  width:fit-content;
}

.top_section02 .pickup_card{
  display: flex;
}

.top_section02 .pickup_card .thumb{
  flex-shrink: 0;
  /* width: 152px;
  height: 88px; */
  width: 200px;
  height: 116px;
  overflow: hidden;
  margin-right: 8px;
}

.top_section02 .pickup_card .thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  transition: 0.4s;
}

.top_section02 .pickup_card:hover .thumb img{
  transform: scale(1.1);
}

.top_section02 .pickup_card .text_area{
  max-width:160px;
}


.top_section02 .pickup_card .pickup_cat{
  font-weight: normal;
  line-height: 1.2; 
  color: #bababa;
  margin-bottom: 8px;
  font-size: 14px;
}

.top_section02 .pickup_card .pickup_title{
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4;
  color: #242424;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.top_section02 .swiper-slide .plan_bookmark_switch{
  margin-left: 12px;
  width: 40px;
  height: 40px;
  background-color: #e8e8e8;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

.top_section02 .swiper-slide .plan_bookmark_switch::after{
  content:"";
  width:16px;
  height:21px;
  background-image: url('../img/common/bookmark_gray.png');
}

.top_section02 .swiper-slide .plan_bookmark_switch.delete::after{
  background-image: url('../img/common/bookmark_on.png');
}

.top_section03{
  padding:132px 0 64px;
  background-color: #ECECEC;
  margin-top: -64px;
}

.top_section03 .flex{
  display: flex;
  align-items: flex-start;
}

.top_section03 .flex .left{
  width:180px;
  flex-shrink: 0;
  position: relative;
  margin-right: 48px;
  padding-top: 36px;
}

.top_section03 .flex .left::before{
  content:"";
  width: 100%;
  height: 3px;
  background-color: #c03425;
  position: absolute;
  top:0;
  left:0;
  
}

.top_section03 .left .news_head{
  font-weight: bold;
  font-size: 30px;
  line-height: 1;
  margin-bottom: 24px;  
}

.top_section03 .more_link{
  display: flex;
  align-items: center;
  width:fit-content;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  color: #242424;
}

.top_section03 .more_link::before{
  content:"";
  width:18px;
  height:18px;
  background-image: url('../img/common/arrow_button_right_red.png');
  border: 50%;
  margin-right: 8px;
}

.top_section03 .right{
  width:100%;
}

.top_section03 .news_list li{
  border-top:1px solid #CBCBCB;
}

.top_section03 .news_list li:last-child{
  border-bottom:1px solid #CBCBCB;
}

.top_section03 .news_list .news_block{
  display: flex;
  padding:24px 0;
  color: #242424;
}

.top_section03 .news_block .news_date{
  width:120px;
  flex-shrink: 0;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}

.top_section03 .news_block .news_title{
  width:100%;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}

.top_section04{
  padding:110px 0 72px;
}

.top_section04 .about_head_frame{
  position: relative;
  margin-bottom: 36px;
  padding-bottom: 6px;
}

.top_section04 .about_head_frame::after{
  content:"";
  width: 394px;
  max-width:90%;
  height: 1px;
  background-color: #cbcbcb;
  position: absolute;
  bottom:0;
  left:0;
}

.top_section04 .about_head{
  font-weight: bold;
  font-size: 40px;
  line-height: 1.3;
}

.top_section04 .about_head_frame .back_text{
  position: absolute;
  z-index:-1;
  font-weight: bold;
  font-size: 100px;
  line-height: 1;
  opacity: 0.05;
  left:50px;
  top:-56px;
}

.top_section04 .flex{
  display: flex;
  justify-content: space-between;
}

.top_section04 .about_block{
  width:520px;
}

.top_section04 .about_block .about_thumb{
  margin-bottom: 24px;
  aspect-ratio: 1/0.56;
}

.top_section04 .about_block .about_thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top_section04 .about_block .about_title{
  margin-bottom: 24px;
  font-weight: bold;
  font-size: 30px;
  line-height: 1.3;
}

.top_section04 .about_block .about_text{
  /* font-size: 20px; */
  line-height: 1.7;
  margin-bottom: 40px;
}

.top_section04 .about_block .about_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: 64px;
  border-radius: 32px;
  padding:0 72px;
  background: #c03425;
  position: relative;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  color: #fff;
  margin:40px auto 0;
}

.top_section04 .about_block .about_link::after{
  content:"";
  width:11px;
  height:13px;
  background-image: url('../img/common/arrow_right_white.svg');
  position: absolute;
  right:24px;
  top:0;
  bottom:0;
  margin:auto;
}

.top_section05{
  padding:80px 0;
  background-color: #ECECEC;
}

.top_section05 .tour_head_frame{
  position: relative;
  margin-bottom: 36px;
  padding-bottom: 6px;
}

.top_section05 .tour_head_frame::after{
  content:"";
  width: 270px;
  max-width:90%;
  height: 1px;
  background-color: #cbcbcb;
  position: absolute;
  bottom:0;
  left:0;
  z-index: 1;
}

.top_section05 .tour_head{
  font-weight: bold;
  font-size: 40px;
  line-height: 1.3;
  position: relative;
  z-index: 1;
}

.top_section05 .tour_head_frame .back_text{
  position: absolute;
  z-index:0;
  font-weight: bold;
  font-size: 100px;
  line-height: 1;
  opacity: 0.05;
  left:50px;
  top:-56px;
}

.top_section05 .tour_block{
  display: flex;
  align-items: flex-start;
  margin-bottom: 110px;
}

.top_section05 .tour_block:last-child{
  margin-bottom: 0;
}

.top_section05 .tour_block .thumb{
  width:630px;
  height:372px;
  flex-shrink: 0;
  position: relative;
}

.top_section05 .tour_block .thumb img{
  position: absolute;
  top:0;
  width:calc(50vw + 85px);
  max-width: 1050px;
  height:100%;
  object-fit: cover;

}

.top_section05 .tour_block .text_area{
  width:100%;
  padding-top: 24px;
}

.top_section05 .tour_block .text_area .tour_title{
  font-weight: bold;
  font-size: 30px;
  line-height: 1.3;
  margin-bottom: 20px;
}

.top_section05 .tour_block .text_area .tour_text{
  margin-bottom: 56px;
  font-size: 16px;
  line-height: 1.7;
}

.top_section05 .tour_block .text_area .tour_link{
  width: fit-content;
  height: 64px;
  border-radius: 32px;
  background: #c03425;
  padding:0 56px 0 30px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top_section05 .tour_block .text_area .tour_link::after{
  content:"";
  width:11px;
  height:19px;
  background-image: url('../img/common/arrow_right_white.svg');
  position: absolute;
  right:24px;
  top:0;
  bottom:0;
  margin:auto;
}

.top_section05 .tour_block:nth-child(odd) .thumb img{
  right:0;
  border-radius: 0 60px 60px 0;
}

.top_section05 .tour_block:nth-child(odd) .text_area{
  padding-left: 80px;
}

.top_section05 .tour_block:nth-child(even){
  flex-direction: row-reverse;
}

.top_section05 .tour_block:nth-child(even) .thumb img{
  left:0;
  border-radius: 60px 0 0 60px;
}

.top_section05 .tour_block:nth-child(even) .text_area{
  padding-right: 80px;
}

.top_section06{
  padding:100px 0 40px;
}

.top_section06 .slect_frame{
  position: relative;
  width:fit-content;
  margin-bottom: 32px;
}


.top_section06 .slect_frame select{
  display: block;
  width: 300px;
  height: 50px;
  border: 1px solid #707070;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 600;
}


.top_section06 .area_head_frame{
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 6px;
}

.top_section06 .area_head_frame::after{
  content:"";
  width: 220px;
  max-width:90%;
  height: 1px;
  background-color: #cbcbcb;
  position: absolute;
  bottom:0;
  left:0;
  z-index: 1;
}

.top_section06 .area_head{
  font-weight: bold;
  font-size: 40px;
  line-height: 1.3;
  position: relative;
  z-index: 1;
}

.top_section06 .area_head_frame .back_text{
  position: absolute;
  z-index:0;
  font-weight: bold;
  font-size: 100px;
  line-height: 1;
  opacity: 0.05;
  left:50px;
  top:-56px;
}

.top_section06 .p01{
  margin-bottom: 40px;
  line-height: 1.5;

}

.top_section06 .flex{
  display: flex;
  justify-content: space-between;
}

.top_section06 .flex .list_frame{
  width:520px;
}


.top_section06 .area_list:first-child{
  display: block;
}

.top_section06 .area_list li{
  margin-bottom: 22px;
}

.top_section06 .area_list li:last-child{
  margin-bottom: 0;
}

.top_section06 .area_list .area_block{
  display: flex;
  align-items: center;
  height: 70px;
  border-radius: 35px;
  border: 1px solid #707070;
  padding:0 40px 0 16px;
  color: #242424;
  position: relative;
}

.top_section06 .area_list .area_block::after{
  content:"";
  width:14px;
  height:25px;
  background-image: url('../img/common/arrow_right_gray.svg');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition: 0.4s;
}

.top_section06 .area_list .area_block:hover::after{
  transform: translateX(8px);
}

.top_section06 .area_list .area_count{
  width:40px;
  height:40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #242424;
  flex-shrink: 0;
  margin-right: 16px;
  font-size: 24px;
  font-weight: bold;
  color:#fff;
  line-height: 1;
}

.top_section06 .area_list .info_area{
  width:100%;
}

.top_section06 .area_list .info_area .info01{
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 5px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.top_section06 .area_list .info_area .info02{
  font-weight: normal;
  font-size: 16px;
  font-feature-settings: "palt";
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}


.top_section06 .flex .map_frame{
  width:520px;
}


.top_section06 .flex .map_frame img{
  width:100%;
}



/*
------------------------------------------
下層共通
------------------------------------------
*/


/*wpブロックエディタ*/
.common_single_block{
  max-width: 1000px;
  margin:0 auto;
}

.common_single_block h2{
  margin: 32px 0;
  padding-bottom: 16px;
  pointer-events: none;
  position: relative;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  border-bottom:1px dotted #242424;
}

.common_single_block h3{
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  margin: 24px 0;
  padding-bottom: 12px;
}

.common_single_block p{
  line-height: 1.6;
  margin: 24px 0;
}

.common_single_block figure{
  margin-top: 24px;
  margin-bottom: 24px;
}

.common_single_block .wp-block-embed.aligncenter{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.common_single_block img{
  object-fit: cover;
  height:auto!important;
  max-width: 100%;
}


/*ページネーション*/
.common_pagenation{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap:16px 8px;
  margin-top: 40px;
}


.common_pagenation span.current{/*現在のページボタン*/
  width: 40px;
  height: 40px;
  background: #4897B3;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  
}

.common_pagenation a.page-numbers{/*指定のページ移動ボタン*/
  width: 40px;
  height: 40px;
  background: #EBEBEB;
  color: #242424;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s;
}

.common_pagenation a.page-numbers.next,
.common_pagenation a.page-numbers.prev{/*next prevボタン*/
  font-weight: bold;
  width:auto;
  padding:0 8px;
}

.common_pagenation a.page-numbers:hover{
  background: #4897B3;
  color: #ffffff;
}


/*ログイン、新規登録フォーム*/

.common_login_form_area{
  max-width:580px;
  margin:0 auto;
}

.common_login_form_area .site_logo{
  width:200px;
  margin:0 auto 40px;
}

.common_login_form_area .input_frame{
  margin-top: 40px;
  position: relative;
}

.common_login_form_area .input_email_frame::before{
  content:"";
  width:36px;
  height:36px;
  background-image: url('../img/common/login_user_icon.png');
  position: absolute;
  left:20px;
  bottom:12px;
}

.common_login_form_area .input_pass_frame::before{
  content:"";
  width:32px;
  height:42px;
  background-image: url('../img/common/login_pass_icon.png');
  position: absolute;
  left:22px;
  bottom:8px;
}

.common_login_form_area .input_frame input{
  width:100%;
  height:50px;
  border-bottom:4px solid #CBCBCB;
  padding-left: 80px;
  font-size: 20px;
}

.common_login_form_area .err_text{
  color:#ff0000;
}

.common_login_form_area .input_frame input::placeholder {
  color: #CBCBCB;
}

.common_login_form_area .btn_area{
  margin-top: 64px;
}

.common_login_form_area .submit_button{
  border:none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 320px;
  height: 60px;
  border-radius: 49.5px;
  background: #e8e8e8;
  margin:0 auto;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
}

/* .common_login_form_area .register_button{
  border:none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 320px;
  height: 60px;
  border-radius: 49.5px;
  background: #e8e8e8;
  margin:24px auto 0;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
  color:#242424;
} */

.common_login_form_area .register_button{
  
  display: flex;
  justify-content: center;
  align-items: center;
  width:fit-content;
  max-width: 100%;
  margin:32px auto 0;
  color:#242424;
  border-bottom: 1px solid #242424;
  line-height: 1.3;
  padding-bottom: 4px;
}
/*
------------------------------------------
新規会員登録 
------------------------------------------
*/


body.register_body{
  
}

main.register_main{

}

.register_section{

}

.register_section01{
  padding:56px 0 40px;
}

/*
------------------------------------------
広島観光手配の概要
------------------------------------------
*/


body.about_body{
  
}

main.about_main{

}

.about_section{

}

.about_section01{
  position: relative;
  padding:110px;
  padding-bottom: 28px;
}


.about_section01 .en_title{
  font-size: 70px;
  line-height: 1.1;
  letter-spacing: 0.04em;

}

.about_section01 .ja_title{
  font-size: 22px;
  color: #242424;
  line-height: 1;
  margin-top: 12px;
}

.about_section01 .bg{
  /* display: none; */
  position: absolute;
  top:0;
  right:0;
  width:calc(50% + 340px);
  height:100%;
  object-fit: cover;
  z-index:-1;
}

.about_section01 .logo{
  position: absolute;
  width:300px;
  bottom:32px;
  left:calc(50% + 200px);
}

.about_section02{
  padding:80px 0 120px;
}

.about_section02 .border{
  width: 2px;
  height: 90px;
  background-color: #c03425;
  margin:0 auto;

}

.about_section02 .sec_head{
  margin-top: 64px;
  font-size: 60px;
  line-height: 1.3;
}

.about_section02 .flex{
  margin-top: 80px;
  display: flex;
  align-items: center;
}

.about_section02 .flex .left{
  width:100%;
  padding-right: 40px;
}

.about_section02 .flex .left p{
  font-size: 18px;
  line-height: 2;
  margin-bottom: 80px;
  letter-spacing: 0;
}

.about_section02 .flex .left p:last-child{
  margin-bottom: 0;
}

.about_section02 .flex .right{
  flex-shrink: 0;
  width:485px;
}

.about_section02 .flex .right img{
  width:100%;
}

.about_section02 .about_list{
  /* margin-top: 140px; */
}

.about_section02 .about_block{
  display: flex;
  margin-bottom: 120px;
}

.about_section02 .about_block:last-child{
  margin-bottom: 0;
}

.about_section02 .about_block .img_area{
  flex-shrink: 0;
  width:720px;
  height:305px;
}

.about_section02 .about_block .img_area img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.about_section02 .about_block .text_area{
  width:100%;
  position: relative;
}

.about_section02 .about_block .about_title{
  padding-bottom: 24px;
  margin-bottom: 24px;
  font-size: 40px;
  line-height: 1.2;
  position: relative;
}

.about_section02 .about_block .about_title::after{
  content:"";
  width:64px;
  height:2px;
  background-color: #C03425;
  position: absolute;
  bottom:0;
  left:0;
}

.about_section02 .about_block .about_text{
  line-height: 1.6;
  /* overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5; */
  position: relative;
}

.about_section02 .about_block .more_text{
  position: absolute;
  right:0;
  bottom:0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  border:1px solid #242424;
  border-radius: 100px;
  padding:4px 12px;
  cursor: pointer;
}

.about_section02 .about_block .about_link_line{
  display: flex;
  justify-content: flex-end;
  margin-top: 40px;
  
}

.about_section02 .about_block .about_link{
  font-size: 20px;
  color:#242424;
}

.about_section02 .about_block:nth-child(odd) .img_area{
  margin-right: 24px;
}

.about_section02 .about_block:nth-child(even){
  flex-direction: row-reverse;
}

.about_section02 .about_block:nth-child(even) .img_area{
  margin-left: 24px;
}

.about_section02 .text_pop{
  position: fixed;
  top:0;
  left:0;
  z-index:1000;
  width:100%;
  height:100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0,0,0,0.6);
  cursor: zoom-out;
  transition-duration: 0.4s;
  opacity: 0;
  pointer-events: none;
}

.about_section02 .text_pop.show{
  opacity: 1;
  pointer-events: auto;
}

.about_section02 .text_pop .text_frame{
  background-color: #fff;
  width:800px;
  max-height:70vh;
  overflow-y: scroll;
}

.about_section02 .text_pop .pop_about_text{
  line-height: 1.6;
  font-weight: 500;
  padding:24px;
}

.about_section03{
  padding:80px 0 120px;
  background-image:url('../img/about/about_contact_bg.jpg');

}

.about_section03 .sec_head{
  font-size: 40px;
  line-height: 1.5;
  text-align: center;
}

.about_section03 .border{
  width: 50px;
  height: 3px;
  background-color:#707070;
  margin:32px auto;

}

.about_section03 .about_contact_text{
  margin-bottom: 40px;
  font-size: 20px;
  line-height: 1.7;
  display: flex;
  justify-content: center;

}

.about_section03 .about_contact_link{
  width: 400px;
  height: 80px;
  border-radius:80px;
  border: 2px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto;
  font-weight: 600;
  font-size: 24px;
  color: #fff;
  position: relative;
  transition: 0.4s;
}

.about_section03 .about_contact_link:hover{
  background-color: #fff;
  color:#242424;
}

/*
------------------------------------------
プラン一覧 
------------------------------------------
*/


body.plan_list_body{
  
}

main.plan_list_main{

}

.plan_list_section{

}

.plan_list_section01{
  padding:24px 0 60px;
  background-color: #E8E8E8;
}

.plan_list_section01 .area_full_frame{
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height:430px;
  margin-bottom: 64px;
}

.plan_list_section01 .area_full_frame img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.plan_list_section01 .area_name{
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width:1100px;
  max-width:95%;
  z-index:5;
  font-weight: bold;
  font-size: 60px;
  line-height: 1.4;
  color: #fff;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.16);

}

.plan_list_section01 .other_area_text{
  padding-bottom: 32px;
  border-bottom:1px solid #707070;
  font-weight: bold;
  font-size: 30px;

}

.plan_list_section01 .area_list{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap:16px 40px;
  margin-top:20px;
}

.plan_list_section01 .area_list .area_card{
  display: block;
  padding:12px;
  min-width:270px;
  background-color: #FFFFFF;
  color:#242424
}

.plan_list_section01 .area_list .area_card .area_card_name{
  font-weight: bold;
  font-size: 13px;
  line-height: 1.3;
  margin-bottom: 4px;
}

.plan_list_section01 .area_list .area_card .area_card_description{
  font-weight: normal;
  font-size: 13px;
  line-height: 1.3;
}

.plan_list_section02{
  padding:40px 0 80px;
}

.plan_list_section02 .tag_head_text{
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 24px;
}

.plan_list_section02 .flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.plan_list_section02 .article{
  width:650px;
}

.plan_list_section02 .plan_card_list{

}

.plan_list_section02 .plan_card_list .plan_item{
  position: relative;
  border-top:1px solid #CBCBCB;
}

.plan_list_section02 .plan_card_list .plan_item:last-child{
  border-bottom:1px solid #CBCBCB;
}

.plan_list_section02 .plan_card{
  position: relative;
  display: flex;
  padding:32px 0;
  color:#242424;
}

.plan_list_section02 .plan_card .thumb{
  flex-shrink: 0;
  width:240px;
  height:140px;
  margin-right: 20px;
  overflow: hidden;
}

.plan_list_section02 .plan_card .thumb img{
  width:100%;
  height:100%;
  transition: 0.4s;
}

.plan_list_section02 .plan_card:hover .thumb img{
  transform: scale(1.1);
}

.plan_list_section02 .plan_card .plan_text_area{
  width:100%;

}

.plan_list_section02 .plan_card .area{
  margin-bottom: 6px;
  font-weight: normal;
  font-size: 13px;
  line-height: 1.3;
  color: #bababa;
}

.plan_list_section02 .plan_card .plan_title{
  font-weight: bold;
  line-height: 1.3;
}

.plan_list_section02 .plan_card .plan_tag_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px;
  margin-top: 8px;
}

.plan_list_section02 .plan_card .plan_tag_item{
  font-weight: bold;
  font-size: 11px;
  letter-spacing:0;
  line-height: 1.3;
}

.plan_list_section02 .plan_card .plan_tag_item span{
  color: #5cb5df;
}

.plan_list_section02 .plan_item .plan_bookmark_switch{
  width:27px;
  height:36px;
  position: absolute;
  left:10px;
  top:40px;
  z-index:10;
  cursor: pointer;
}

.plan_list_section02 .plan_item .plan_bookmark_switch.rock{
  transition: 0s;
  pointer-events: none;
}

.plan_list_section02 .plan_item .plan_bookmark_switch.add{
  background-image: url("../img/common/bookmark_off.png");
}

.plan_list_section02 .plan_item .plan_bookmark_switch.delete{
  background-image: url("../img/common/bookmark_on.png");
}




/*
------------------------------------------
プラン詳細
------------------------------------------
*/


body.plan_single_body{
  
}

main.plan_single_main{

}

.plan_single_section{
  padding:40px 0;
}

main.plan_single_main .plan_sec_title{
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 32px;
  display: flex;
}

main.plan_single_main .plan_sec_title span{
  margin-left: 12px;
  font-size: 14px;
  font-weight: 500;
  padding-top: 8px;
  color:#5F93FC;
} 


main.plan_single_main .plan_bookmark_frame{
  margin-top: 24px;
  display: flex;
  justify-content: flex-end;
}

main.plan_single_main .plan_bookmark_switch{
  cursor: pointer;
  width: fit-content;
  max-width: 100%;
  border-radius: 60px;
  background: #fff;
  border: 1px solid #bababa;
  display: flex;
  align-items: center;
  padding:6px 12px 6px 6px;
  margin-top: 24px;
}

main.plan_single_main .plan_bookmark_switch .plan_bookmark_icon{
  width: 32px;
  height: 32px;
  background-color: #e8e8e8;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 6px;
}

main.plan_single_main .plan_bookmark_switch .plan_bookmark_icon::after{
  content:"";
  width:14px;
  height:18px;
  background-image: url('../img/common/bookmark_gray.png');
}

main.plan_single_main .plan_bookmark_switch.delete .plan_bookmark_icon::after{
  background-image: url('../img/common/bookmark_on.png');
}

main.plan_single_main .plan_bookmark_switch p{
  font-weight: normal;
  line-height: 1; 
  color:#BABABA;
}


.plan_mv_section{

}

.plan_mv_section .plan_thumb{
  aspect-ratio: 1/0.4;
  position: relative;
  max-height:440px;
}

.plan_mv_section .plan_thumb::before{
  /* content:''; */
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,0.4);
  position: absolute;
  top:0;
  left:0;
  z-index:1;
  overflow: hidden;
}

.plan_mv_section .plan_thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
}




.plan_mv_section .plan_title{
  margin-top: 16px;
  font-size: 28px;
  line-height: 1.4;
}


.plan_mv_section .plan_caption{
  line-height: 1.5;
  margin-top: 16px;
}

.plan_anchor_section{}

.plan_anchor_section .anchor_list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.plan_anchor_section .anchor_list li{
  cursor: pointer;
  margin-bottom: 16px;
}

.plan_anchor_section .anchor_list .border{
  height:20px;
  width:1px;
  background-color: #242424;
  margin:0 12px;
  margin-bottom: 16px;
}

.plan_overview_section{
  
} 

.plan_overview_section .flex{
  display: flex;
}

.plan_overview_section .thumb{
  flex-shrink: 0;
  margin-right: 64px;
  width:45%;
}

.plan_overview_section .thumb img{
  width:100%;
}

.plan_overview_section .text_area{
  width:100%;
}

.plan_overview_section .text_area p{
  line-height: 1.75;
}


.plan_feature_section{
  
} 

.plan_feature_section .feature_list{

}

.plan_feature_section .feature_list li{
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;


}

.plan_feature_section .feature_list li .radi{
  width:8px;
  height:8px;
  border-radius: 50%;
  background-color:#242424;
  flex-shrink: 0;
  margin-top: 11px;
  margin-right: 20px;
}

.plan_feature_section .feature_list li p{
  line-height: 1.5;
  font-size: 18px;
  font-weight: 500;
  border-bottom:1px solid #242424;
}

.plan_keyword_section{
  
} 

.plan_keyword_section .keyword_list{
  display: flex;
  flex-wrap: wrap;
  margin-top: -8px;
}

.plan_keyword_section .keyword_list li{
  margin-right: 12px;
  margin-bottom: 6px;
}

.plan_keyword_section .keyword_list li::after{
  content:",";
  display: inline;
}

.plan_keyword_section .keyword_list li:last-child::after{
  content:none;
}

.plan_video_section{
  
} 

.plan_video_section .video_frame{
  display: flex;
  justify-content: center;
  align-items: center;
}

.plan_video_section .video_frame iframe{
  width:800px;
  height:450px;
  display: block;
}

.plan_gallery_section{
  
} 

.plan_gallery_section .gallery_list{
  display: flex;
  flex-wrap: wrap;
}

.plan_gallery_section .gallery_list li{
  width:255px;
  height:160px;
  margin-right: 25px;
  margin-bottom: 25px;
  cursor: zoom-in;
  overflow: hidden;
}

.plan_gallery_section .gallery_list li:nth-child(4n){
  margin-right: 0;
}

.plan_gallery_section .gallery_list li img{
  width:100%;
  height:100%;
  object-fit: cover;
  transition-duration: 0.4s;
}

.plan_gallery_section .gallery_list li:hover img{
  transform: scale(1.1);
}

.plan_gallery_section .gallery_popup{
  position: fixed;
  top:0;
  left:0;
  z-index:1000;
  width:100%;
  height:100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0,0,0,0.6);
  cursor: zoom-out;
  transition-duration: 0.4s;
  opacity: 0;
  pointer-events: none;
}

.plan_gallery_section .gallery_popup.show{
  opacity: 1;
  pointer-events: auto;
}

.plan_gallery_section .gallery_popup img{
  height:80vh;
  width:90%;
  max-width: 1200px;
  object-fit: contain;
}
/* 
.plan_gallery_section .gallery_popup img.wide{
  max-height:80vh;
  max-width:90vw;
}

.plan_gallery_section .gallery_popup img.verti{
  max-height:80vh;
} */

.plan_schedule_section{

}

.plan_schedule_section .schedule_container{
  max-width: 1000px;
  margin:0 auto;
}

.plan_schedule_section .schedule_list{
  
}

.plan_schedule_section .schedule_block{
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 32px;
}

.plan_schedule_section .schedule_block::before{
  content:"";
  width:2px;
  height:calc(100% - 30px);
  background-color: #CDCDCD;
  position: absolute;
  bottom:-24px;
  left:24px;
}

.plan_schedule_section .schedule_block .schedule_step{
  flex-shrink: 0;
  margin-right: 32px;
  width:50px;
  height:50px;
  border-radius: 50%;
  background-color: #C03525;
  display: flex;
  justify-content: center;
  align-items: center;
  color:#fff;
  line-height: 1;
}

.plan_schedule_section .schedule_block .schedule_contents{
  width:100%;
  padding-top: 8px;
}

.plan_schedule_section .schedule_block .schedule_time{
  border-bottom: 1px solid #111;
  margin-bottom: 24px;
  padding-bottom: 12px;
  font-size: 20px;
  line-height: 1;
  font-weight: 600;
}

.plan_schedule_section .schedule_block .schedule_flex{
  display: flex;
  align-items: flex-start;
}

.plan_schedule_section .schedule_block .schedule_img{
  width:240px;
  height:150px;
  flex-shrink: 0;
  margin-right: 32px;
}

.plan_schedule_section .schedule_block .schedule_img img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.plan_schedule_section .schedule_block .schedule_info{
  width:100%;
  line-height: 1.7;
  font-weight: 500;
}


.plan_map_section{

}

.plan_map_section .map_frame{
  display: flex;
  justify-content: center;
  align-items: center;
}

.plan_map_section .map_frame iframe{
  width:100%;
  height:450px;
  display: block;
}

.plan_price_section{

}


.plan_price_section table{
  border-collapse: collapse;
}

.plan_price_section table th,
.plan_price_section table td{
  padding:6px 8px;
  border: 1px solid #e1e1e1;
  line-height: 1.5;
}

.plan_price_section table th{
  background-color: #eee;
}

.plan_price_section table td{
  font-weight: 500;
}

.plan_single_main .contact_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width:300px;
  height:80px;
  background-color: #C03525;
  margin:0 auto;
  border-radius: 40px;
  color:#fff;
  text-align: center;
}

.plan_single_main .contact_link .contact01{
  font-size: 20px;
  line-height: 1;
}

.plan_single_main .contact_link .contact02{
  font-size: 14px;
  font-weight: 500;
  margin-top: 6px;
  line-height: 1.3;
}
/*
------------------------------------------
観光事業者紹介一覧
------------------------------------------
*/


body.exhibitor_list_body{
  
}

main.exhibitor_list_main{

}

main.exhibitor_list_main .common_page_mv_section .mv {
  width: 100vw;
  min-width: 1920px;
  height:auto;
  min-height: 100%;
  object-position: top;
  top:-24px;
}

.exhibitor_list_section{

}

.exhibitor_list_section01{
  padding:80px 0 60px;
}

.exhibitor_list_section01 .flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.exhibitor_list_section01 .article {
  width: 650px;
}

.exhibitor_list_section01 .article{
  width:650px;
}

.exhibitor_list_section01 .exhibitor_card_list{

}

.exhibitor_list_section01 .exhibitor_card_list .exhibitor_item{
  position: relative;
  border-top:1px solid #CBCBCB;
}

.exhibitor_list_section01 .exhibitor_card_list .exhibitor_item:last-child{
  border-bottom:1px solid #CBCBCB;
}

.exhibitor_list_section01 .exhibitor_card{
  position: relative;
  display: flex;
  padding:32px 0;
  color:#242424;
}

.exhibitor_list_section01 .exhibitor_card .thumb{
  flex-shrink: 0;
  width:240px;
  height:140px;
  margin-right: 20px;
  overflow: hidden;
}

.exhibitor_list_section01 .exhibitor_card .thumb img{
  width:100%;
  height:100%;
  transition: 0.4s;
}

.exhibitor_list_section01 .exhibitor_card:hover .thumb img{
  transform: scale(1.1);
}

.exhibitor_list_section01 .exhibitor_card .exhibitor_text_area{
  width:100%;

}

.exhibitor_list_section01 .exhibitor_card .area{
  margin-bottom: 6px;
  font-weight: normal;
  font-size: 13px;
  line-height: 1.3;
  color: #bababa;
}

.exhibitor_list_section01 .exhibitor_card .exhibitor_title{
  font-weight: bold;
  line-height: 1.3;
}

.exhibitor_list_section01 .exhibitor_card .exhibitor_tag_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px;
  margin-top: 8px;
}

.exhibitor_list_section01 .exhibitor_card .exhibitor_tag_item{
  font-weight: bold;
  font-size: 11px;
  letter-spacing:0;
  line-height: 1.3;
  

}

.exhibitor_list_section01 .exhibitor_card .exhibitor_tag_item span{
  color: #5cb5df;
}


/*
------------------------------------------
観光事業者紹介 シングル
------------------------------------------
*/


body.exhibitor_single_body{
  
}

main.exhibitor_single_main{

}

.exhibitor_single_section{

}

.exhibitor_single_section01{
  padding:40px 0 60px;
}

.exhibitor_single_section01 .exhibitor_main_img{
  height:560px;
  position: relative;
  z-index:-1;
}

.exhibitor_single_section01 .exhibitor_main_img img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.exhibitor_single_section01 .white_box{
  margin-bottom: 56px;
  width: 944px;
  max-width: 90%;
  margin-top: -72px;
  padding:24px 56px 32px;
  background: #fff;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.16);
}

.exhibitor_single_section01 .white_box .info_flex{
  display: flex;
  align-items: flex-start;
}

.exhibitor_single_section01 .white_box .exhibitor_tag_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap:8px;
}

.exhibitor_single_section01 .white_box .exhibitor_tag_item{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height:24px;
  padding:3px 12px;
  border:1px solid #707070;
  border-radius: 36px;
  color:#242424;
  line-height: 1.3;
}

.exhibitor_single_section01 .white_box .exhibitor_title{
  font-size: 28px;
  font-weight: 600;
  margin-top: 12px;
}


/*
------------------------------------------
通訳ガイド紹介一覧
------------------------------------------
*/


body.guide_list_body{
  
}

main.guide_list_main{

}

.guide_list_section{

}

.guide_list_section01{
  padding:80px 0 60px;
}

.guide_list_section01 .flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.guide_list_section01 .article {
  width: 650px;
}

.guide_list_section01 .article{
  width:650px;
}

.guide_list_section01 .guide_card_list{

}

.guide_list_section01 .guide_card_list .guide_item{
  position: relative;
  border-top:1px solid #CBCBCB;
}

.guide_list_section01 .guide_card_list .guide_item:last-child{
  border-bottom:1px solid #CBCBCB;
}

.guide_list_section01 .guide_card{
  position: relative;
  display: flex;
  padding:32px 0;
  color:#242424;
}

.guide_list_section01 .guide_card .thumb{
  flex-shrink: 0;
  width:240px;
  height:140px;
  margin-right: 20px;
  overflow: hidden;
}

.guide_list_section01 .guide_card .thumb img{
  width:100%;
  height:100%;
  transition: 0.4s;
  object-fit: cover;
}

.guide_list_section01 .guide_card:hover .thumb img{
  transform: scale(1.1);
}

.guide_list_section01 .guide_card .guide_text_area{
  width:100%;

}

.guide_list_section01 .guide_card .area{
  margin-bottom: 6px;
  font-weight: normal;
  font-size: 13px;
  line-height: 1.3;
  color: #bababa;
}

.guide_list_section01 .guide_card .guide_title{
  font-weight: bold;
  line-height: 1.3;
}

.guide_list_section01 .guide_card .guide_tag_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px;
  margin-top: 8px;
}

.guide_list_section01 .guide_card .guide_tag_item{
  font-weight: bold;
  font-size: 11px;
  letter-spacing:0;
  line-height: 1.3;
}

.guide_list_section01 .guide_card .guide_tag_item span{
  color: #5cb5df;
}

.guide_list_section01 .guide_card .guide_greeting{
  margin-top: 12px;
  font-weight: bold;
  line-height: 1.3;
  font-size: 14px;
}

/*
------------------------------------------
通訳ガイド紹介 シングル
------------------------------------------
*/


body.guide_single_body{
  
}

main.guide_single_main{

}

.guide_single_section{

}

.guide_single_section01{
  padding:40px 0 60px;
}

.guide_single_section01 .guide_main_img{
  height:560px;
  position: relative;
  z-index:-1;
}

.guide_single_section01 .guide_main_img img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.guide_single_section01 .white_box{
  margin-bottom: 56px;
  width: 944px;
  max-width: 90%;
  margin-top: -72px;
  padding:24px 56px 32px;
  background: #fff;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.16);
}

.guide_single_section01 .white_box .info_flex{
  display: flex;
  align-items: flex-start;
}

.guide_single_section01 .white_box .guide_tag_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap:8px;
}

.guide_single_section01 .white_box .guide_tag_item{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height:24px;
  padding:3px 12px;
  border:1px solid #707070;
  border-radius: 36px;
  color:#242424;
  line-height: 1.3;
}

.guide_single_section01 .white_box .guide_title{
  font-size: 28px;
  font-weight: 600;
  margin-top: 12px;
}
/*
------------------------------------------
お知らせ
------------------------------------------
*/

body.news_body{
  
}

main.news_main{

}

.news_section{

}

.news_section01{
  padding:64px 0 40px;
}

.news_section01 .sec_title{
  font-weight: 600;
  font-size: 30px;
  color: #cbcbcb;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 48px;
}

.news_section01 .news_list{

}

.news_section01 .news_list li{
  border-bottom:1px solid #CBCBCB;
}

.news_section01 .news_block{
  position: relative;
  display: flex;
  align-items: flex-start;
  padding:24px 64px 24px 40px;
  color: #242424;
} 

.news_section01 .news_block::after{
  content:"";
  width:10px;
  height:18px;
  background-image: url('../img/common/arrow_right_black.svg');
  position: absolute;
  top:26px;
  right:32px;
  transition: 0.4s;
}

.news_section01 .news_block:hover::after{
  transform: translateX(8px);
}

.news_section01 .news_block .date{
  width: 280px;
  flex-shrink: 0;
  font-weight: 600;
  line-height: 1.5;
}

.news_section01 .news_block .news_title{
  line-height: 1.5;
  font-weight: 600;
}

/*
------------------------------------------
マイページ
------------------------------------------
*/

body.mypage_body{
  
}

main.mypage_main{

}

.mypage_section{

}

.mypage_section01{
  padding:40px 0 80px;
}


.mypage_section01 .flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.mypage_section01 .flex .article{
  width:680px;
}

.mypage_section01 .prof_box{
  margin-bottom: 56px;
  padding:24px;
  border:1px solid #707070;
}

.mypage_section01 .prof_box .head_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom:1px solid #707070;
  margin-bottom: 24px;
}

.mypage_section01 .prof_box .head_flex p{
  font-weight: bold;
  font-size: 24px;
  line-height: 1.3;

}

.mypage_section01 .prof_box .head_flex a{
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  line-height: 1;
  color: #242424;
  padding:8px 12px;
  border:1px solid #707070;
}

.mypage_section01 .prof_box .info_list{

}

.mypage_section01 .prof_box .info_block{
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-bottom: 20px;
}

.mypage_section01 .prof_box .info_block .label{
  min-width: 144px;
  padding:4px 16px;
  border-radius: 100px;
  background: #e8e8e8;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  line-height: 1.3;
  flex-shrink: 0;
  /* margin-right: 40px; */
}

.mypage_section01 .prof_box .info_block .content{
  font-weight: bold;
  line-height: 1.5;
  padding-top: 2px;
  margin-top: 4px;
}

.mypage_section01 .prof_box .logout_link{
  margin-top: 24px;
  text-align: center;
}

.mypage_section01 .prof_box .logout_link a{
  color:#242424;
}

.mypage_section01 .chat_box{
  margin-bottom: 56px;
  padding:24px;
  border:1px solid #707070;
}

.mypage_section01 .chat_box .head_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom:1px solid #707070;
  margin-bottom: 24px;
}

.mypage_section01 .chat_box .head_flex p{
  font-weight: bold;
  font-size: 24px;
  line-height: 1.3;

}

.mypage_section01 .chat_box .head_flex a{
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  line-height: 1;
  color: #242424;
  padding:8px 12px;
  border:1px solid #707070;
}

.mypage_section01 .chat_box ul{

}

.mypage_section01 .chat_box li + li{
  margin-top: 20px;
}

.mypage_section01 .chat_box li a{
  display: block;
  color:#242424;
}

.mypage_section01 .chat_box .date{
  font-size: 15px;
  margin-top: 8px;
}

.mypage_section01 .chat_box .chat_text{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-top: 4px;
  opacity: 0.6;
  font-weight: normal;
  max-width: 100%;
}

.mypage_section01 .book_mark_head{
  font-size: 24px;
  margin-bottom: 24px;
}

.mypage_section01 .bookmark_plan_item{
  border-top:1px solid #CBCBCB;
}

.mypage_section01 .bookmark_plan_item:last-child{
  border-bottom:1px solid #CBCBCB;
}


.mypage_section01 .bookmark_plan_card{
  position: relative;
  display: flex;
  padding:32px 0;
  color:#242424;
}

.mypage_section01 .bookmark_plan_card .thumb{
  flex-shrink: 0;
  width:320px;
  height:220px;
  margin-right: 20px;
  overflow: hidden;
}

.mypage_section01 .bookmark_plan_card .thumb img{
  width:100%;
  height:100%;
  transition: 0.4s;
}

.mypage_section01 .bookmark_plan_card .plan_text_area{
  width:100%;

}

.mypage_section01 .bookmark_plan_card .area{
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 160px;
  max-width:100%;
  width:fit-content;
  padding:4px 8px;
  background: #e8e8e8;
  margin-bottom: 8px;
} 

.mypage_section01 .bookmark_plan_card .plan_title{
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 12px;
  line-height: 1.5;
}

.mypage_section01 .bookmark_plan_card .link{
  width: 288px;
  height: 64px;
  border-radius: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  color: #242424;
  letter-spacing: 0;
  position: relative;
}

.mypage_section01 .bookmark_plan_card .link::after{
  content:"";
  width:11px;
  height:19px;
  position: absolute;
  right:24px;
  top:0;
  bottom:0;
  margin:auto;
}

.mypage_section01 .bookmark_plan_card .plan_link{
  border: 1px solid #c03425;
}
.mypage_section01 .bookmark_plan_card .plan_link::after{
  background-image: url('../img/common/arrow_right_black.svg');
}

.mypage_section01 .bookmark_plan_card .chat_link{
  margin-top: 10px;
  background-color:#c03425;
  color:#fff;
  padding-right: 12px;
  font-size: 16px;
}
.mypage_section01 .bookmark_plan_card .chat_link::after{
  background-image: url('../img/common/arrow_right_white.svg');
}

.mypage_section01 #sidebar{
  width: 360px;
}

.mypage_section01 #sidebar .sidebar_tour_area ul{
  margin-top: 16px;
}

.mypage_section01 #sidebar .sidebar_tour_area li+li{
  margin-top: 8px;
}

.mypage_section01 #sidebar .sidebar_tour_area li a{
  color:#242424;
}

/*
------------------------------------------
チャット一覧
------------------------------------------
*/
body.chat_list_body{
  
}

main.chat_list_main{

}

.chat_list_section{

}

.chat_list_section01{
  padding:80px 0 40px;
}

.chat_list_section01 .sec_title{
  font-weight: 600;
  font-size: 30px;
  color: #cbcbcb;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 56px;
}

.chat_list_section01 .partner_select_frame{
  margin:0 auto 32px;
  width: fit-content;
}

.chat_list_section01 .chat_kind_head{
  text-align: center;
  font-size: 24px;
  margin-bottom: 24px;
  font-weight: bold;
}

.chat_list_section01 .no_read_area{
  margin-bottom: 120px;
}

.chat_list_section01 .no_read_list{

}

.chat_list_section01 .no_read_list li{
  border-bottom: 1px solid #CBCBCB;
}

.chat_list_section01 .no_read_card{
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 24px 64px 24px 40px;
  color: #242424;
}

.chat_list_section01 .no_read_card::after {
  content: "";
  width: 10px;
  height: 18px;
  background-image: url('../img/common/arrow_right_black.svg');
  position: absolute;
  top: 38px;
  right: 32px;
  transition: 0.4s;
}
@media(any-hover:hover){
  .chat_list_section01 .no_read_card:hover::after{
    transform: translateX(8px);
  }
}

.chat_list_section01 .no_read_card .no_read_left{
  flex-shrink: 0;
  width:300px;
  margin-right: 32px;
}

.chat_list_section01 .no_read_card .no_read_partner_company{
  font-size: 18px;
  font-weight:bold;
}

.chat_list_section01 .no_read_card .no_read_partner_name{
  font-size: 15px;
  margin-top: 2px;
}

.chat_list_section01 .no_read_card .no_read_chat_japan_time{
  margin-top: 8px;
  font-size: 12px;
}

.chat_list_section01 .no_read_card .no_read_right{
  width: 100%;
}

.chat_list_section01 .no_read_card .no_read_plan_name{
  font-weight: 600;
  line-height: 1.5;
}

.chat_list_section01 .no_read_card .no_read_chat_text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-top: 4px;
  opacity: 0.6;
  font-weight: normal;
  max-width: 100%;
}

.chat_list_section01 .partner_select{
  border:none;
  width:300px;
  height:50px;
  border-radius: 25px;
  border: 1px solid #707070;
  padding:0 12px;
  font-size: 20px;
  font-weight: 600;
  color:#666;
  
}

.chat_list_section01 .chat_list li{
  border-bottom:1px solid #CBCBCB;
}

.chat_list_section01 .chat_block{
  position: relative;
  display: flex;
  align-items: flex-start;
  padding:24px 64px 24px 40px;
  color: #242424;
} 

.chat_list_section01 .chat_block::after{
  content:"";
  width:10px;
  height:18px;
  background-image: url('../img/common/arrow_right_black.svg');
  position: absolute;
  top:38px;
  right:32px;
  transition: 0.4s;
}

.chat_list_section01 .chat_block:hover::after{
  transform: translateX(8px);
}

.chat_list_section01 .chat_block .date{
  width: 280px;
  flex-shrink: 0;
  font-weight: 600;
  line-height: 1.5;
  padding-top: 10px;
}

.chat_list_section01 .chat_block .sender_thumb{
  flex-shrink: 0;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  border: 1px solid #707070;
  display: flex;
  justify-content: center;
  align-items: center;
}

.chat_list_section01 .chat_block .sender_thumb img {
  width: 28px;
}

.chat_list_section01 .chat_block .text_area{
  padding-top: 10px;
  width:100%;
  padding-left: 48px;
  font-weight: 600;
  line-height: 1.5;
}

.chat_list_section01 .chat_block .chat_text{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-top: 4px;
  opacity: 0.6;
  font-weight: normal;
  max-width: 100%;
}

.chat_list_section01 .chat_block .chat_text br{
  display: none;

}

.chat_list_section01 .logout_link{
  text-align: center;
  margin-top: 40px;
}

.chat_list_section01 .logout_link a{
  color:#242424;
}
/*
------------------------------------------
チャット
------------------------------------------
*/

body.chat_body{
  
}

body.chat_body footer{
  display: none;
}

main.chat_main{

}

.chat_section{

}

.chat_section01{
  padding:10px 0;
  background-color: #C03425;
}

.chat_section01 .keyword_frame{
  position: relative;
  margin-left: 40px;
}

.chat_section01 .keyword_frame .keyword{
  width: 536px;
  max-width: 100%;
  height: 28px;
  border-radius: 10px;
  background: #fff;
  padding-left: 40px;
  font-weight: normal;
  font-size: 18px;
}

.chat_section01 .keyword_frame .keyword::placeholder {
  color: #cbcbcb;
}

.chat_section01 .keyword_frame .search_button_block{
  position: absolute;
  z-index:10;
  left:12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.chat_section01 .keyword_frame .search_button{
  border:none;
  background: none;
  cursor: pointer;
  display: block;
  width:22px;
  /* height:22px;
  background-image: url('../img/common/search_icon_black.svg'); */
}

.chat_section01 .keyword_frame .search_button img{
  width:100%;
}

.chat_section02{
  padding:0;
  position: relative;
}

.chat_section02 .chat_read_count{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


.chat_section02 .chat_frame{
  min-height:400px;
  height:calc(100vh - 160px);
  /* border:1px solid #000; */
  overflow-y: scroll;
  padding:20p 0;
}

.chat_section02 .chat_list{
  width:900px;
  max-width:85%;
  padding:40px 0;
  margin:0 auto;
}

.chat_section02 .chat_block{
  margin-bottom: 40px;
}

.chat_section02 .chat_block:last-child{
  /* margin-bottom: 0; */
}

.chat_section02 .chat_block .chat_info_area{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.chat_section02 .chat_block .chat_info_area .sender_area{
  /* width:100%; */
  display: flex;
  align-items: center;
  transform: translateX(-64px);
}

.chat_section02 .chat_block .chat_info_area .sender_thumb{
  flex-shrink: 0;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  border: 1px solid #707070;
  display: flex;
  justify-content: center;
  align-items: center;
}

.chat_section02 .chat_block .chat_info_area .sender_thumb img{
  width:28px;
}

.chat_section02 .chat_block .chat_info_area .sender_name{
  line-height: 1.3;
  padding-left: 16px;
}

.chat_section02 .chat_block .chat_time{
  padding-top: 12px;
  text-align: right;
}

.chat_section02 .chat_block .chat_contents_area{
  margin-top: 8px;
}

.chat_section02 .chat_block .chat_contents_area .chat_text_frame{
  padding:16px 24px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #707070;
}

.chat_section02 .chat_block .chat_contents_area .chat_text{
  line-height: 1.5;
  word-break: break-all;
}

.chat_section02 .chat_block .chat_contents_area .chat_img_frame{
  width:500px;
  max-width: 100%;
}

.chat_section02 .chat_block .chat_contents_area .chat_img_frame img{
  width:100%;
}

.chat_section03{
  padding:32px 0;
  background-color: #C03425;
}

.chat_section03 form{
  width:900px;
  max-width:85%;
  margin:0 auto;
}

.chat_section03 .line01{
  display: flex;
  /* justify-content: space-between; */
} 

.chat_section03 .line01 .file_area{
  display: flex;
  width:100%;
}

.chat_section03 .line01 .file_area .input_chat_file{
  display: none;
}

.chat_section03 .line01 .file_area label{
  display: block;
  cursor: pointer;
  width:21px;
  flex-shrink: 0;
  margin-right: 12px;
}

.chat_section03 .line01 .file_area label img{
  width:100%;
}

.chat_section03 .line01 .file_area .file_name_frame{
  width:fit-content;
  max-width: 100%;
  position: relative;
  position: relative;
}

.chat_section03 .line01 .file_area .file_name{
  color:#fff;
  
  
  word-break: break-all;
  
}

.chat_section03 .line01 .submit_area{
  flex-shrink: 0;
  margin-left: 56px;
}

.chat_section03 .line01 .file_delete{
  position: absolute;
  cursor: pointer;
  font-weight: bold;
  z-index:10;
  font-size: 18px;
  color:#fff;
  right:-20px;
  top:-20px;
}

/* .chat_section03 .line01 .file_delete.vanish{
  pointer-events: none;
  opacity: 0;
} */


.chat_section03 .line01 .submit_area .chat_send_button{
  border:none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 66px;
  height: 33px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #707070;
  font-weight: normal;
  list-style: 1;

}

.chat_section03 .line01 .submit_area .chat_send_button.rock{
  pointer-events: none;
  opacity: 0.7;
}

.chat_section03 .chat_send_form textarea{
  width: 100%;
  height: 80px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #707070;
  padding:16px 24px;
  line-height: 1.5;
  margin-top: 16px;
}

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

body.contact_body{
  
}

main.contact_main{

}

.contact_section{

}

.contact_section01{
  padding-top: 60px;
}

.contact_section01 h1{
  font-weight: 600;
  font-size: 60px;
  position: relative;
  z-index:-2;
  line-height: 1;
}

.contact_section01 .contact_bg{
  position: relative;
  padding:120px 0;
  margin-top: 24px;
}

.contact_section01 .contact_bg::before{
  content:"";
  width:100vw;
  height:100%;
  background-color: #C03425;
  position: absolute;
  top:0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}

.contact_section01 .white_box{
  padding:60px 80px 60px;
  background-color: #fff;
}

.contact_section01 .form_text01{
  font-size: 30px;
  line-height: 1;
  width: fit-content;
  margin:0 auto 16px;
  padding-bottom: 4px;
  border-bottom: 3px solid #242424;
}

.contact_section01 .form_text02{
  font-size: 20px;
  text-align: center;
  margin-bottom: 80px;
}

.contact_section01 .contact_block{

}

.contact_section01 .contact_block .form_line{
  display: flex;
  margin-bottom: 40px;
}

.contact_section01 .contact_block .form_line .left{
  flex-shrink: 0;
  padding-top: 13px;
  width:300px;
}

.contact_section01 .contact_block .form_line .left.p0{
  padding-top: 0;
}

.contact_section01 .contact_block .form_line .title{
  display: flex;
  font-size: 18px;
  line-height: 1.3;
}

.contact_section01 .contact_block .form_line .title::before{
  content:"Required";
  width: auto;
  height: 24px;
  border-radius: 12px;
  background-color: #c03425;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  margin-right: 8px;
  padding:0 12px;
}

.contact_section01 .contact_block .form_line .title.free::before{
  content:none;
  background-color: #777777
}


.contact_section01 .contact_block .form_line .right{
  width:100%;
}

.contact_section01 .contact_block .form_line .text_input{
  width:100%;
  height:50px;
  background-color: #E8E8E8;
  padding:0 8px;
}

.contact_section01 .contact_block .form_line textarea{
  width: 100%;
  height: 263px;
  background-color: #e8e8e8;
  padding:12px;
  line-height: 1.5;
}

.contact_section01 .contact_block .name_flex{
  display: flex;
  align-items: center;
  gap:0 20px;
}

.contact_section01 .contact_block .name_flex .name_block{
  display: flex;
  align-items: center;
  font-size: 18px;
  line-height: 1;
}

.contact_section01 .contact_block .name_flex .name_frame{
  width:130px;
  margin-left: 8px;
}

.contact_section01 .contact_block .rule_check{
  /* margin-bottom: 20px; */
  margin-top: 20px;
  
}

.contact_section01 .contact_block .rule_check span{
  font-size: 18px;
  line-height: 1.3;
  font-weight: 600;
}

.contact_section01 .contact_block .rule_text{
  
}

.contact_section01 .contact_block .rule_text a{
  font-size: 18px;
  font-weight: 600;
  color: #242424;
  border-bottom:1px solid #C03425;
}

.contact_section01 .contact_block .submit_area{
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact_section01 .contact_block .submit_area p{
  display: none;
}

.contact_section01 .contact_block .submit_frame{
  position: relative;
  margin:0 20px;
}

.contact_section01 .contact_block .submit_frame::after{
  content:"";
  width:11px;
  height:19px;
  background-image: url('../img/common/arrow_right_black.svg');
  position: absolute;
  right:24px;
  top:22px;
  transition: 0.4s;
}

.contact_section01 .contact_block .submit_frame:hover::after{
  transform: translateX(8px);
}

.contact_section01 .contact_block .submit{
  border:none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 288px;
  height: 64px;
  border-radius: 32px;
  border: 1px solid #242424;
  cursor: pointer;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  color: #242424;
}

/*確認画面*/

.contact_section01 .contact_block .mw_wp_form_confirm .form_line .left{
  padding-top: 0;
}

.contact_section01 .contact_block .mw_wp_form_confirm .rule_text{
  display: none;
}

.contact_section01 .contact_block .return{
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding:0 4px 4px ;
  border-bottom: 1px solid #242424;
}

/*完了画面*/

.contact_section01 .contact_block .finish_text{
  display: flex;
  justify-content: center;
  line-height: 1.8;
  font-weight: 600;
  font-size: 18px;
}


/*
------------------------------------------
お客様情報登録
------------------------------------------
*/

body.prof_edit_body{
  
}

main.prof_edit_main{
  
}

.prof_edit_section01{
  padding-top: 60px;
}

.prof_edit_section01 .page_title{
  font-size: 24px;
  text-align: center;
}

.prof_edit_section01 .prof_frame{
  max-width: 940px;
  margin:40px auto 0;
}

.prof_edit_section01 .form_line {
  display: flex;
}

.prof_edit_section01 .form_line + .form_line{
  margin-top: 40px;
}

.prof_edit_section01 .form_line .left {
  flex-shrink: 0;
  padding-top: 13px;
  width: 200px;
  font-size: 18px;
  line-height: 1.3;
}

.prof_edit_section01 .form_line .right {
  width: 100%;
}

.prof_edit_section01 .form_line .text_input {
  width: 100%;
  height: 50px;
  background-color: #E8E8E8;
  padding: 0 16px;
}

.prof_edit_section01 .form_line .input_err{
  font-size: 13px;
  margin-top: 2px;
  color:#ff0000;
}

.prof_edit_section01 .submit_frame{
  margin-top: 56px;
  display: flex;
  justify-content: center;
} 

.prof_edit_section01 .submit_button{
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 288px;
  height: 64px;
  border-radius: 32px;
  border: 1px solid #242424;
  cursor: pointer;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  color: #242424;
  position: relative;
}

.prof_edit_section01 .submit_button::after {
  content: "";
  width: 11px;
  height: 19px;
  background-image: url('../img/common/arrow_right_black.svg');
  position: absolute;
  right: 24px;
  top: 22px;
  transition: 0.4s;
}

@media(any-hover:hover){
  .prof_edit_section01 .submit_button:hover::after {
    transform: translateX(8px);
  }
}


main.single_main .common_single_block{
  word-break: break-all;
}