@charset "UTF-8";

/* 基本設定 */
*{ margin: 0; padding: 0; box-sizing: border-box;}
html{ scroll-behavior:smooth; }/* 未対応多い(らしい) */
body{ font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',Meiryo, メイリオ, sans-serif; font-size: 62.5%; }
a{ text-decoration: none; color: #000; }
a:hover{ color: #ff69b4; }
img{ border-style: none; }
ul{ list-style-type: none; }

/* フォント設定 */
@font-face{
  font-family: 'NotoSerifBold';
  src: url(webfonts/NotoSerifJP-Bold.otf);
}
@font-face{
  font-family: 'NotoSerifR';
  src: url(webfonts/NotoSerifJP-Regular.otf);
}
@font-face{
  font-family: 'RocknRoll';
  src: url(webfonts/RocknRollOne-Regular.ttf);
}
@font-face{
  font-family: 'KosugiMaru';
  src: url(webfonts/KosugiMaru-Regular.ttf);
}

.page{ width: 80%; max-width: 980px; margin: 0 auto;}

/* topic path */
.topic_path ul{
  width: 80%;
  max-width: 980px;
  margin: 1.0em auto;
  
  display: flex;
  justify-content: flex-start;
}

.topic_path ul li{
  margin-right: .5em;  
  font-size: .6rem;
}
.topic_path ul li::after{
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  color: #888;
  font-weight: bold;
  font-size: .8rem;
  margin-left: .5em;
}
.topic_path ul li:last-of-type::after{
  content: '';
}

.topic_path ul li a{
  display: inline-block;
  padding: .2em .8em;
}
.topic_path ul li.current_page{
  padding: .2em;
  font-weight: bold;
}

/* ページトップへ戻るボタン */
#page_top{
  position: fixed;
  bottom: 30px;
  right: 15px;
  
  text-align: center;
  color: #aaa;
  
  filter:alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  
  cursor: pointer;
}
#page_top:hover{
  filter:alpha(opacity=50);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
#page_top span{
  display: block;
  font-size: 2.0rem;
}
h3{
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: .2em;
  color: #c70067;
  margin: 3em 0;

  font-family: 'RocknRoll';
}

/* === ヘッダー === */
h1{ 
  font-weight: normal;
  font-size: .8rem;
  width: 100%;
  margin-bottom: 1.6em;
}
header{ 
  background-color: #fff;
  padding-bottom: 2em;

  box-shadow: 1px 0px 2px rgba(0,0,0,0.5);
  position: relative;
  z-index: 100;
}
header > div{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  
  position: relative;
}
header .sns_icons{
  position: absolute;
  width: 100%;
  top: 20%;
  right: 1%;
  text-align: right;
  font-size: 1.2rem;
  letter-spacing: .5em;
}
header .sns_icons a{
  color: #aaa;
}
header .sns_icons a:hover{
  color: #ccc;
}

header .header_logo{
  width: 40%;
}
header .header_logo a img{
  height: 60px;
  margin-right: .5em;
}
header .menu_btn{ /* スマホメニュー用 */
  position: fixed;
  z-index: 12;
  top: 10px;
  right: 5px;
  width: 40px;
  height: 40px;
  color: #666;
  cursor: pointer;
  display: none;
}
header .menu_btn span{ 
  display: block;
  position: absolute;
  
  width: 30px;
  height: 4px;
  background: #666;
  border-radius: 10px;
  -webkit-transition: all 400ms;
  transition: all 400ms
}
header .menu_btn span:nth-child(2) { top: 10px; }
header .menu_btn span:nth-child(3) { top: 20px; }
header .menu_btn p{ 
  position: absolute;
  bottom: 0;
  width: 100%;
}
header .active span:nth-child(1){ /* xを描く */
  top: 10px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
header .active span:nth-child(2),
header .active span:nth-child(3){
  top: 10px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

header nav{
  width: 60%;
}
header nav > ul{
  display: flex;
  justify-content: space-between;
}

header nav > ul li{
  position: relative;
  
  width: 20%;
  border-right: 1px solid #fff;
  font-size: 0.8rem;
  text-align: center;
  border-right: 1px solid #ddd;
}
header nav > ul li:last-child{
  border-right: 0;
}
header nav > ul li a{
  display: block;
  color: #000;
  font-weight: bold;
}

header nav > ul li a:hover,
header nav > ul li.selected,
header nav > ul li.selected a{
  color: #e85388;
}

/* 固定用 */
.is_fixed{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;	
}

/* === フッター === */
footer{
  border-top: 1px solid #ccc;
  margin-top: 5em;
  
  font-size: 0.8rem;
  background-color: #fff;
}

footer .footer_info{
  display: flex;
  justify-content: flex-start;
  align-items : center;
  
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}

footer .footer_info .footer_logo a{
  display: block;
  
  background: transparent url(../images/stamp_07.png) no-repeat 50% 50%;
  background-size: contain;
  
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
  
  width: 150px;
  height: 100px;
}

footer .footer_info .footer_company{
  padding-left: 2em;
}
footer .footer_info .footer_company .company_name{
  font-weight: bold;
}

footer .footer_sitemap{
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

footer .footer_sitemap div.page{
  display: flex;
  justify-content: space-between;
  flex-wrap :wrap;
  
  border-left: 1px solid #eee;
}

footer .footer_sitemap div.page > div{
  width: 33.3%;
  border-right: 1px solid #eee;
  padding: 2.5em;
}

footer .footer_sitemap div.page > div p{
  font-size: 1.0rem;
  margin-bottom: 1em;
  color:#e85388;
}

footer .footer_sitemap ul.fs_menu li{
  line-height: 250%;
}

footer .footer_tel{
  font-size: 1.0rem;
  font-weight: bold;
}

footer .footer_to_inquiry a{
  display: block;
  background-color: #e85388;
  color: #fff;
  text-align: center;
  margin-top: 1em;
  padding-top: .5em;
  padding-bottom: .5em;
  border-radius: 5px;
}
footer .footer_to_inquiry a:hover{
  background-color: #ff69b4;
}
footer .footer_to_inquiry a i{
  font-size: 1.2rem;
}
footer .fs_sns_links li{
  margin-bottom: .5em;
}
footer .fs_sns_links li a{
  display: block;
  border: 1px solid #ccc;
  border-radius: 5px;

  padding: 0.7em;
  text-align: center;
  font-size: 1.0rem;
 
  background-repeat: no-repeat;
  background-position: 5px 50%;
  background-size: 40px;
}
footer .fs_sns_links li.f_facebook a{ background-image: url(../images/icon_fb_100.png);}
footer .fs_sns_links li.f_instagram a{ background-image: url(../images/icon_insta_100.png);}
footer .fs_sns_links li.f_twitter a{ background-image: url(../images/icon_twitter_100.png);}

footer .footer_pp{
  text-align: center;
  padding-top: 1em;
  padding-bottom: 1em;
}

footer .copy{
  text-align: center;
  background-color: #e85388;
  color: #fff;
  padding-bottom: 3em;
  padding-top: 1em;
}

/* === トップページ === */
.top_img{
  background:  transparent url(../images/top_wall.jpg) no-repeat 0 0;
  background-size: cover;

  height: 80vh;
  min-height: 600px;

  position: relative;
}
.top_img::after{
  content: '';
  position: absolute;
  top: 5%;

  width: 90%;
  height: 95%;
  margin: 0 auto;
  background: transparent url(../images/nakata_01.gif) no-repeat 100% 50%;
  background-size: contain;
}

.top_msg{
  position: absolute;
  top: 30%;
  left: 10%;

  font-size: 2.4rem;
  font-weight: bold;
  color: #e85388;
  text-shadow : 
     2px  2px 0px #ffffff,
    -2px  2px 0px #ffffff,
     2px -2px 0px #ffffff,
    -2px -2px 0px #ffffff,
    2px  0px 0px #ffffff,
    0px  2px 0px #ffffff,
    2px  0px 0px #ffffff,
    0px -2px 0px #ffffff; 
}
.top_msg img{
  width: 50%;
}

.video{
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
  margin: 2em auto;
}
.video .view_name{
  width: 40%;
  height: 300px;
  background: transparent url(../images/name.jpg) no-repeat 50% 50%;
  background-size: 98%;
}
.video .view_video{
  width: 50%;
}
.view_video video{
  width: 100%;
}

.notice_alert{
  font-size: 1.0rem;
  color: #dc143c;
  padding: 2em;
  
  max-width: 800px;
  border: 3px double #dc143c;
  border-radius: 1em;
  margin-top: 2em;
}
.notice_alert p{
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 1em;
}
.sum_menu ul{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.sum_menu ul li{
  width: 18%;
}
.sum_menu ul li a{
  display: block;
  text-align: center;
  font-size: 1.4rem;
  color: #000;
  background-color: #fff;
  border: 1px solid #ccc;
  padding: .5em;
  
  transform: rotate(-1deg);
  transform-origin: 0 50%;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.3);

  position: relative;
  z-index: 10;

  transition: all 400ms 0s ease;
}
.sum_menu ul li:nth-child(1) a{ border-left: 1em solid #f7dad9; }
.sum_menu ul li:nth-child(2) a{ border-left: 1em solid #fff5da; }
.sum_menu ul li:nth-child(3) a{ border-left: 1em solid #d6d2c4; }
.sum_menu ul li:nth-child(4) a{ border-left: 1em solid #5d534a; }
.sum_menu ul li:nth-child(5) a{ border-left: 1em solid #34656d; }
.sum_menu ul li:nth-child(6) a{ border-left: 1em solid #c6ffc1; }

.sum_menu ul li a:hover{
   transform: rotate(0deg);
   box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

.sum_menu ul li a span{
  font-weight: bold;
  font-size: 140%;
  margin-bottom: .5em;
  display: block;
  text-align: center;
  color: #e85388;
}

.top_links ul.relation_links{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  width: 80%;
  margin: 0 auto;
}
.top_links ul.relation_links li{
  margin: 0 .5em 1em;
}
.top_links ul.relation_links li a{
  display: block;
  width: 200px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: #fff;

  text-indent:100%;
	white-space:nowrap;
	overflow:hidden;

  border: 1px solid #ccc;
  box-shadow: 0px 1px 2px rgba(0,0,0,0.4);
}
.top_links ul.relation_links li a:hover{
  box-shadow: 0px 0px 2px rgba(0,0,0,0.4);
}

.top_links ul.relation_links li a.links_atsuta{ background-image:url(../images/banner_atsuta.gif);}
.top_links ul.relation_links li a.links_minato{ background-image:url(../images/banner_minato.gif);}
.top_links ul.relation_links li a.links_minami{ background-image:url(../images/banner_minami.gif);}
.top_links ul.relation_links li a.links_mizuho{ background-image:url(../images/banner_mizuho.gif);}
.top_links ul.relation_links li a.links_nagoya{ background-image:url(../images/banner_nagoya.gif);}
.top_links ul.relation_links li a.links_aichi{  background-image:url(../images/banner_aichi.png);}
.top_links ul.relation_links li a.links_o-ishin{background-image:url(../images/logo_02.png); background-size: 96%;}

.top_sns{
  width: 80%;
  max-width: 1000px; /* facebookの最大500pxに合わせる */
  margin: 0 auto;

  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}

.top_sns > div{
  width: 49%;
  text-align: center;

  border: 1px solid #ddd;
  border-top-left-radius: 2em; border-top-right-radius: 2em;
}
.sns_mb{ display: none;}
.top_sns .top_sns_tt{
  font-size: 1.4rem;
  padding: 1em;
}
.top_twitter .top_sns_tt{
  background: transparent url(../images/icon_twitter_100.png) no-repeat 1em 50%;
  background-size: 10%;
}
.top_fb .top_sns_tt{
  background: transparent url(../images/icon_fb_100.png) no-repeat 1em 50%;
  background-size: 10%;
}

/* === 政策 === */
#policy .policy_copy_1{
  height: 40vh;
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 2.0rem;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0,0,0,0.8);

  background: #98fb98 url(../images/policy_photo_1.jpg) no-repeat 50% 0;
  background-size: cover;

  margin-bottom: 2em;
}
#policy .policy_copy_1 > div{
  width: 100%;
}
#policy .policy_copy_2{
  text-align: center;
  font-size: 3.0rem;
  color: #e85388;
  margin-bottom: 1em;
}
#policy .policy_copy_2 i{
  margin: 0 .5em;
  font-size: 90%;  
}
#policy .policy_detail_1 ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

  margin-bottom: 5em;
}
#policy .policy_detail_1 ul li{
  width: 24%;
  border-radius: .8em;
  font-size: 1.0rem;
  color: #fff;
  font-weight: bold;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
  text-align: center;
  padding: .5em;
}
#policy .policy_detail_1 ul li:nth-child(1){ background-color: #0097DB; }
#policy .policy_detail_1 ul li:nth-child(2){ background-color: #dc669b; }
#policy .policy_detail_1 ul li:nth-child(3){ background-color: #ffd700; }
#policy .policy_detail_1 ul li:nth-child(4){ background-color: #9acd32; }
#policy .policy_detail_1 ul li p{
  height: 10em;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;

  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin-bottom: .5em;
}
#policy .policy_detail_1 ul li:nth-child(1) p{ background-image: url(../images/policy_01.jpg);}
#policy .policy_detail_1 ul li:nth-child(2) p{ background-image: url(../images/policy_02.jpg);}
#policy .policy_detail_1 ul li:nth-child(3) p{ background-image: url(../images/policy_03.jpg);}
#policy .policy_detail_1 ul li:nth-child(4) p{ background-image: url(../images/policy_04.jpg);}

#policy .policy_detail_2{
  background: transparent url(../images/stamp_03.png) no-repeat 100% 100%;
  background-size: contain;
}
#policy .policy_detail_2 ul{
  counter-reset: item;
}
#policy .policy_detail_2 ul li{
  font-size: 1.0rem;
  padding-left: 4.0em;
  margin-bottom: 2em;

  position: relative;
}
#policy .policy_detail_2 ul li:before{
  counter-increment : item;
  content: counter(item);
  font-weight: bold;
  font-size: 150%;
  color: #fff;
  background-color: #e85388;
  border-radius: 50%;
  padding: .4em .8em;

  position: absolute;
  left: 0;
}
#policy .policy_detail_2 ul li p{
  font-size: 120%;
  color: #e85388;
  font-weight: bold;
}
/* === プロフィール === */
#profile .profile_img{
  height: 60vh;
  background: #444 url(../images/profile_photo_03.jpg) no-repeat 0% 10%;
  background-size: 50%;

  font-size: 1.6rem;
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.8);

  display: flex;
  align-items: center;
}
#profile .profile_img >div{
  width: 45%;
  margin: 0 0 0 auto;
  position: relative;
}
#profile .profile_img >div p{
  font-size: 150%;
  font-weight: bold;
}
#profile .profile_img >div .sns_icons{
  position: absolute;
  top: 20%;
  right: 10%;
  text-align: right;
  font-size: 1.4rem;
  letter-spacing: .5em;
}
#profile .profile_img >div .sns_icons a{
  color: #aaa;
}
#profile .profile_img >div .sns_icons a:hover{
  color: #ccc;
}
#profile .profile_detail{
  width: 80%;
  max-width: 980px;
  margin: 10em auto 8em;
  font-size: 0.8rem;

  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
#profile .profile_detail p{
  font-size: 130%;
  font-weight: bold;
  margin-bottom: .5em;
}
#profile .profile_detail .profile_msg{
  background: transparent url(../images/stamp_08.png) no-repeat 0% 50%;
  background-size: 91px;
  padding-left: 100px;
  display: flex;
  align-items: center;
}

.profile_greeting{
  border: 1px solid #ccc;
  width: 80%;
  margin: 0 auto;
  padding: 1em;

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.profile_greeting .recent_photo{
  width: 28%;
}
.profile_greeting .recent_photo img{
  width: 100%;
  border: 3px solid #fff;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.4);
}
.greeting_detail{
  width: 70%;
  margin: 2em 0 2em auto;
  padding: 3em;
  font-size: 0.9rem;
  line-height: 180%;
  padding-top: 2em;
  padding-bottom: 2em;
}
.greeting_detail p{
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: 1px solid #ccc;
}

/* === 活動報告 === */
#activity .activity_top{
  height: 40vh;
  display: flex;
  align-items: center;
  background: #ffb6c1 url(../images/activity_photo.jpg) no-repeat 50% 0;
  background-size: cover;

  margin-bottom: 2em;
}
#activity .activity_top > div{
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.6);
}
#activity .activity_top > div p{
  font-size: 150%;
  font-weight: bold;
}
#activity .pickup_activities{
  font-size: 0.8rem;
}
#activity .pickup_activities ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

  border-top: 1px solid  #ccc;
  border-left: 1px solid #ccc;
  margin-top: 2em;
}
#activity .pickup_activities ul li{
  width: 33.3%;
  padding: 2em;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
#activity .pickup_activities ul li img{
  width: 100%;
  margin-bottom: 2em;
}
#activity .pickup_activities ul li p{
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 1em;
}
#activity .pickup_activities ul li span.act_date{
  display: block;
  text-align: right;
  color: #ffb6c1;
}

/* === 後援会 === */
#supporter .support_tt, #supporter .request_form_tt{
  padding: 1.0em;
  font-size: 1.0rem;
  text-align: center;
  
  border-left: 10px solid #e85388;
  background-color: #fffafa;
  margin-bottom: 2em;
}
#supporter .infomation{
  font-size: .8rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

  position: relative;
}
#supporter .infomation:after{
  content: '';
  display: inline-block;
  width: 150px;
  height: 150px;
  background-image: url(../images/stamp_02.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  transform: scale(-1, 1);
}
#supporter .infomation .info_tt{
  font-weight: bold;
  width: 20%;
  margin-bottom: 2em;
}
#supporter .infomation .info_cts{
  width: 80%;
  margin-bottom: 2em;
}
#supporter .infomation .info_cts span{
  display: inline-block;
  font-weight: bold;
  margin-right: 1em;
}
#supporter .support_request_msg{
  font-size: .8rem;
  margin-bottom: 2em;
}
#supporter .form_frame{
  font-size: 0.8rem;
  border: 2px solid  #f5f5dc;
  border-radius: 1em;
  padding: 2em;
}
#supporter .form_frame form fieldset{
  border-style: none;
  margin: 2em;
}
#supporter .form_frame form fieldset legend{
  font-size: 0.8rem;
  color: #343838;
  
  width: 25%;
  float: left;
}
#supporter .form_frame form fieldset .empha{
  color: #dc143c;
  font-size: .7rem;
  font-weight: bold;
}
#supporter input, #supporter textarea, #supporter select{
  border-radius: 0.2em;
  border: 1px solid #ccc;
  padding: 5px;
  font-size: 0.9rem;
  
  clear: both;
}

#supporter input:focus,#supporter textarea:focus{
  background-color: #fffff0;
}
#supporter textarea{
  width: 60%;
}
#supporter input[type="text"]{ width: 60%; }
#supporter input[type="email"]{ width: 60%; }
#supporter input[type="tel"]{ width: 60%; }
#supporter input[type="number"]{ width: 5em; }
#supporter input[type="radio"]{ margin-right: 1em; position: relative; top: .2em;}
#supporter select{ width: 15em; }
#supporter .form_frame label{
  cursor: pointer;
}
#supporter .form_frame span.form_radio{
  display: inline-block;
  margin-right: 2em;
}

#supporter .privacy{
  width: 96%;
  margin: 0 auto 2em;
  background-color: #fff;
  padding: 1em;
}
#supporter .privacy p{
  border-bottom: 1px solid #ccc;
  margin-bottom: 1em;
}

#supporter p.send_btn{
  text-align: center;
}

#supporter p.send_btn input{
  margin: 5px;
  cursor: pointer;
}
#supporter p.send_btn input:hover, #supporter p.send_btn input:active{
  background-color: #f0e68c;
}

/* === 問い合わせ === */
#inquiry .i_tt{
  padding: 1.0em;
  font-size: 1.0rem;
  text-align: center;
  
  border-left: 10px solid #e85388;
  background-color: #fffafa;
}

#inquiry .inquiry_msg{
  font-size: 0.8rem;
  padding: 2em;
}

#inquiry .form_frame{
  font-size: 0.8rem;
  border: 2px solid  #ffb6c1;
  border-radius: 1em;
  padding: 2em;
}

#inquiry .form_frame form fieldset{
  border-style: none;
  margin: 2em;
}
#inquiry .form_frame form fieldset legend{
  font-size: 0.8rem;
  color: #343838;
  
  width: 25%;
  float: left;
}
#inquiry .form_frame form fieldset .empha{
  color: #dc143c;
  font-size: .7rem;
  font-weight: bold;
}
#inquiry input, #inquiry textarea, #inquiry select{
  border-radius: 0.2em;
  border: 1px solid #ccc;
  padding: 5px;
  font-size: 0.9rem;
  
  clear: both;
}

#inquiry input:focus,#inquiry textarea:focus{
  background-color: #fffff0;
}
#inquiry textarea{
  width: 60%;
}
#inquiry input[type="text"]{ width: 60%; }
#inquiry input[type="email"]{ width: 60%; }
#inquiry input[type="tel"]{ width: 60%; }
#inquiry input[type="number"]{ width: 5em; }
#inquiry select{ width: 15em; }

#inquiry .privacy{
  width: 96%;
  margin: 0 auto 2em;
  background-color: #fff;
  padding: 1em;
}
#inquiry .privacy p{
  border-bottom: 1px solid #ccc;
  margin-bottom: 1em;
}

h4.entry_error{
  color: rgba(200,20,60,0.8);
  margin: 50px auto;
  font-size: 1.0rem;
}

#inquiry p.send_btn{
  text-align: center;
}

#inquiry p.send_btn input{
  margin: 5px;
  cursor: pointer;
}
#inquiry p.send_btn input:hover, #inquiry p.send_btn input:active{
  background-color: #ffb6c1;
}

/* PHPでの自動描画用 */
.entry_confirm{
  width: 80%;
  margin: 100px auto;
  font-size: 1.0rem;
}
.form_confirm_msg{
  text-align: center;
  font-size: 1.0rem;
}
.formTable{
  width: 100%;
  margin: 50px auto;
  border-collapse: collapse;
  
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.formTable th{
  background-color: #dcdcdc;
  width: 30%;
  padding: 1em;
  
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 0.8rem;
}
.formTable td{
  padding: 1em;
  
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 0.8rem;
}
.form_confirm_msg{
  margin: 2em auto;
}

.pp_tt{
  font-size: 1.2rem;
  font-weight: bold;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-top: 50px;
  text-align: center;
}

.return_top a{
  display: block;
  width: 280px;
  margin: 10px auto;
  border: 1px solid #333;
  background-color: #f5f5f5;
  padding: 3px;
  border-radius: 2px;
  text-align: center;
}
.return_top a:hover{
  background-color: #ffb6c1;
  color: #000;
}
#inquiry .confirm_send_btn{
  cursor: pointer;
}
#inquiry .confirm_send_btn:hover{
  background-color: #ffb6c1;
}

/* === 個人情報保護方針 === */
#privacy h5{
  margin: 3em auto; 
  font-size: 1.0rem;
}
#privacy .pp_detail{
  font-size: .8rem;
}
#privacy dl{ margin-top: 2em; }
#privacy dl dt{
  font-size: 110%;
  margin-bottom: 1em;

  border-top: 3px solid #ffb6c1;
  border-bottom: 1px solid #ccc;
  padding: .8em;
}
#privacy dl dd{
  padding-left: 2em;
  margin-bottom: 2em;
}
/* ==== ページ幅が狭くなった時の措置 ==== */
@media screen and ( max-width: 1024px ){ /* タブレット基準 */
  .page{ width: 100%; margin: 0 auto; }
  .topic_path ul{ width: 98%;}
  header .header_logo{ width: 30%; padding-left: 1em;}
  header .header_logo a img{ height: 35px;}
  header nav{ width: 68%; }
  .top_img{ min-height: initial; height: 40vh; }
  .top_img::after{ width: 98%; }
  .top_msg{ font-size: 1.8rem; left: 5%; }
  .top_sns{ width: 90%; max-width: initial; }
  .video .view_name{ width: 80%; padding: 2em;}
  .video .view_video{ width:80%; }
  #toppage h3{ margin: 2em 0; }
  .top_links ul.relation_links li a{ width: 100px; height: 30px; background-size: contain; margin-bottom: 1em; }
  .sum_menu ul li{ width: 19%; }
  .sum_menu ul li a{ font-size: .9em; }
  #policy .policy_copy_1{ height: 20vh; font-size: 1.4rem; }
  #policy .policy_copy_2{ font-size: 2.2rem; }
  #policy .policy_detail_1 ul{ width: 98%; margin: 0 auto 4em; }
  #policy .policy_detail_1 ul li p{ height: 8em; }
  #policy .policy_detail_2{ width: 95%; margin: 0 auto; padding-bottom: 3em; background-size: 80px;}
  #profile .profile_img{ height: 23vh; font-size: 1.2rem; }
  #profile .profile_detail{ max-width: initial; width: 100%; font-size: 0.7rem;}
  .profile_greeting{ align-items: flex-start; }
  .greeting_detail{ margin-top: 0; }
  #activity .pickup_activities ul{ width: 96%; margin: 2em auto 0; }
  footer .footer_sitemap div.page > div{ padding: 1.5em; }
  footer .footer_sitemap div.page > div p{ font-size: 1.0rem; }
  #supporter .infomation{ width: 80%; margin: 0 auto; }
  #supporter .support_request_msg{ width: 80%; margin: 0 auto 2em; }
  #inquiry .form_frame{ width: 98%; margin: 0 auto 3em; }
  .entry_confirm{ width: 98%; margin: 0 auto 3em; }/* mail.php表示用 */
  #inquiry .formTable{ width: 98%; margin: 0 auto 3em; }
  #supporter .form_frame{ width: 98%; margin: 0 auto 3em; }
  #supporter .formTable{ width: 98%; margin: 0 auto 3em; }
  #privacy h5{ text-align: center; }
  #privacy .pp_detail{ width: 90%; margin: 0 auto;}
}
@media screen and ( max-width: 767px ){ /* スマホ基準 */
  span.br{ display: block; }
  h1{ display: none; }
  header { padding-bottom: 1em; position: fixed; width: 100%; }
  header .header_logo{ width: 70%; margin-top: 1em; }
  header .header_logo a img{ height: 30px; }
  header .menu_btn{ display: block; }
  header .menu_btn .menu_close{ display: none; }
  header nav{ position: fixed; top: 0; left: 0; z-index: 11; width: 100%; margin: 0; height: 100vh; background-color: rgba(0,0,0,0.6); display: none;}
  header nav > ul{ display: block; background-color: #eee;}
  header nav > ul li{ width: 100%; border-bottom: 1px solid #aaa; font-size: 1.0rem; text-align: left; }
  header nav > ul li.selected a{ background-color: #eee; color: #000;}
  header nav > ul li a{ text-indent: 1.0em; padding: .8em; }
  header nav > ul > li:first-child a{ padding: 1em; }
  header nav > ul li.p_menu > a{ display: none; }
  header .sns_icons{ width: 40%; top: 30%; right: 60px; letter-spacing: .3em;}
  #toppage > div{ padding-top: 60px; }/* ロゴのheight */
  .top_msg{ font-size: 1.0rem; }
  .top_img{ width: 100%; height: 200px;}
  .top_links{ padding: 0!important;}/* どこでpadding入ってるか要確認 */
  .sum_menu{ padding: 0!important;}/* どこでpadding入ってるか要確認 */
  .sum_menu ul li{ width: 45%; margin-bottom: 2em;}
  .sum_menu ul li a{ padding: .3em;font-size: .8rem; }
  .sum_menu ul li a span{ display: inline; margin-right: .5em;}
  .sns_pc{ display: none;}
  .sns_mb{ display: block;}
  .top_sns > div{ width: 100%; margin-bottom: 1em;}
  .video{ margin: 0; }
  .video .view_name{ width: 90%; height:160px;  padding: 0;}
  .video .view_video{ width:90%; }
  #policy .policy_copy_1{ height: 20vh; font-size: 1.0rem; font-weight: bold;}
  #policy .policy_copy_2{ font-size: 1.4rem; }
  #policy .policy_detail_1 ul li{ width: 48%; font-size: 0.8rem; margin-bottom: 1em;}
  #policy .policy_detail_2{ padding-bottom: 12em; }
  #policy .policy_detail_2 ul li{ font-size: 0.8rem; }
  #profile .profile_img{ height: 20vh; font-size: 0.8rem; }
  #profile .profile_img >div .sns_icons{ position: static; font-size: 1.2rem; text-align: center;margin-top: 1em;}
  #profile .profile_detail{ margin: 3em auto; }
  #profile .profile_detail > div{ width: 60%; margin-bottom: 2em;}
  #profile .profile_detail .profile_msg{ height: 120px; width: 90%;}
  .profile_greeting{ width: 90%; }
  .profile_greeting .recent_photo{ width: 100%; text-align: center;}
  .profile_greeting .recent_photo img{ width: 40%; margin: 0;}
  .greeting_detail{ width: 100%; padding: 1em; font-size: 0.8rem;}
  #activity .activity_top{ height: 30vh; }
  #activity .pickup_activities ul li{ width: 100%; }
  footer .footer_info{ border-bottom: 1px solid #eee; }
  footer .footer_info .footer_logo a{ width: 100px; margin: 0 1.0em; }
  footer .footer_sitemap{ display: none; }
  footer .copy{ font-size: .6rem }
  .topic_path{ padding-top: 5.5em; }/* ヘッダー(fixed)より下に出すため */
  #supporter .infomation{ width: 96%; }
  #supporter .infomation:after{ width: 100px; height: 100px; top: 50px;}
  #supporter .supporter_msg{ font-size: .7rem; }
  #supporter .form_frame{ padding: .3em; }
  #supporter .form_frame form fieldset legend{ width: 100%; font-weight: bold;}
  #supporter input[type="text"],#supporter input[type="email"],#supporter input[type="tel"],#supporter textarea{ width: 98%; }
  #inquiry .privacy, #supporter .privacy{ text-align: center; }
  #inquiry .inquiry_msg{ font-size: .7rem; }
  #inquiry .form_frame{ padding: .3em; }
  #inquiry .form_frame form fieldset legend{ width: 100%; font-weight: bold;}
  #inquiry input[type="text"],#inquiry input[type="email"],#inquiry input[type="tel"],#inquiry textarea{ width: 98%; }
  .form_confirm_msg{ font-size: 0.8rem; width: 90%; margin: 2em auto; text-align: left;}/* mail.php表示用 */
  #privacy .pp_detail{ font-size: 0.7rem; width: 96%;}
}
