@charset "UTF-8";
/*
Theme Name: Platform Furusato Nozei
Theme URI: http://tesakai.sakura.ne.jp/
Description: 地域・教育魅力化プラットフォーム　ふるさと納税
Version: 1.0
Author: TS
*/
html, body, div, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, address, hgroup, menu, nav, output, ruby, section, sum mary, time, mark, audio, video {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  font-size: 14px;
  line-height: 2;
  font-weight: bold;
  word-break: break-word;
}
img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
a { transition: 0.5s; }
a:hover {
  opacity: 0.8;
  transition: 0.5s;
}
body {
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width:768px) {
  h2 { font-size: 24px; margin-bottom: 30px; }
  h3 { font-size: 20px; }
}
@media screen and (max-width:767px) {
  h2 { font-size: 20px; margin-bottom: 30px; }
  h3 { font-size: 17px; }
  br.pc { display: none; }
}
h2.white { color: #fff; }

/* Layout */
.txt_left { text-align: left; }
.txt_center { text-align: center; }
.txt_right { text-align: right; }
.txt_justify { text-align: justify; }
.left { margin-left: 0; margin-right: auto; }
.center { margin-left: auto; margin-right: auto; }
.right { margin-left: auto; margin-right: 0; }
.ctrl { display: inline-block; }

/* ボタン固定 */
.right-items { 
  position: fixed;
  bottom: 30px;
  right: 20px;
  z-index: 3;
}
@media screen and (min-width:768px) {
  .right-items img { max-width: 130px; }
}
@media screen and (max-width:767px) {
  .right-items img { max-width: 80px; }
}

/* main */
@media screen and (min-width:1024px) {
  .mainvisual .fv .box {
    position: absolute;
    left: 28%;
    top: 11%;
    transform: translate(-28%, 11%);
    -webkit-transform: translate(-28%, 11%);
    -moz-transform: translate(-28%, 11%);
    max-width: 370px;
    z-index: 2;
    text-align: left;
  }
  .mainvisual .fv .box h1 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 0.2em;
  }
  .mainvisual .fv .box p {
    font-weight: bold;
    margin-bottom: 30px;
  }
}
@media screen and (min-width:768px) and (max-width:1023px) {
  .mainvisual .fv .box {
    position: absolute;
    left: 28%;
    top: 2%;
    transform: translate(-28%, 11%);
    -webkit-transform: translate(-28%, 11%);
    -moz-transform: translate(-28%, 11%);
    max-width: 370px;
    z-index: 2;
    text-align: left;
  }
  .mainvisual .fv .box h1 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 0.2em;
  }
  .mainvisual .fv .box p {
    font-weight: bold;
    margin-bottom: 30px;
  }
}
@media screen and (min-width:768px) {
  .mainvisual .content {
    padding: 100px 10px;
    margin: 0 auto;
    max-width: 768px;
  }
  .mainvisual .content_navi {
    height: 70px;
    margin-bottom: 100px;
  }
  .mainvisual .content_navi p {
    display: table-cell;
    width: 155px;
    vertical-align: middle;
    position: relative;
    height: 70px;
  }
  .mainvisual .content_navi p:before {
    content:"";
    display:inline-block;
    width:1px;
    height:70px;
    background-color:#000;
    position:absolute;
    top: 0;
    left: 0;
  }
  .mainvisual .content_navi p:last-child:after {
    content:"";
    display:inline-block;
    width:1px;
    height:70px;
    background-color:#000;
    position:absolute;
    top: 0;
    right: 0;
  }
  .mainvisual .content_navi p a {
    padding: 10px 2%;
    text-align: center;
    margin: 0 auto;
    display: block;
    width: 100%;
  }
  .mainvisual .content_navi p a:after {
    position: absolute;
    content: '';
    bottom: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    display: block;
    width: 20px;
    height: 11px;
    background-image: url(./images/navi_arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width:767px) {
  .mainvisual .content {
    margin: 0 auto;
    padding: 50px 10px;
  }
  .mainvisual .fv .box {
    text-align: center;
    padding: 10px;
  }
  .mainvisual .fv .box h1 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
  }
  .mainvisual .fv .box p {
    font-weight: bold;
    margin-bottom: 30px;
  }
  .mainvisual .content_navi {
    height: auto;
    margin-bottom: 50px;
  }
  .mainvisual .content .content_navi p {
    width: 100%;
    margin-bottom: 10px!important;
    text-align: center;
  }
  .mainvisual .content .content_navi p a {
    background-color: #eee;
    width: 100%;
    display: block;
    border-radius: 10px;
    padding: 5px 0;
  }
}
.mainvisual .fv { position: relative; }
.mainvisual .fv .box p.button {
  background-color: #F18C93;
  display: inline-flex;
  width: auto;
  border-radius: 10px;
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  position: relative;
}
p.banner_button {
  background-color: #F18C93;
  display: grid;
  width: auto;
  max-width: 300px;
  border-radius: 10px;
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  position: relative;
  margin: 20px auto 10px;
}
.mainvisual .fv .box p.button a,
.banner_button a {
  color: #fff;
  padding: 20px 30px 20px 20px;
}
.mainvisual .fv .box p.button a:after,
.banner_button a:after {
  position: absolute;
  content: '';
  top: 50%;
  right: 15px;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -moz-transform: translate(0%, -50%);
  display: block;
  width: 6px;
  height: 15px;
  background-image: url(./images/button_rightico.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.mainvisual .fv img { 
  max-width: 100%;
  width: auto;
}
.mainvisual .content h2,
.mainvisual .content h3,
.mainvisual .content p { color: #000; }
.content h2 {
  letter-spacing: 0.2em;
  margin-bottom: 20px;
  font-weight: bold;
}
.content h2 span:after {
  content: "";
  width: 30px;
  background-color: #000;
  height: 2px;
  display: block;
  margin: 10px auto 50px;
}
.content h2.-movie span:after {
  display: none;
}
.mainvisual .content h3 {
  margin-bottom: 20px;
}
.mainvisual .content p {
  line-height: 2.5em;
  text-align: left;
  margin-bottom: 1.5em;
}
.mainvisual .content img {
  margin: 20px 0;
}
.wrapper {
  padding-left: 10px;
  padding-right: 10px;
}

/* LPページ */
@media screen and (min-width: 768px) {
  section .content { max-width: 768px; margin: 0 auto; padding: 100px 10px; text-align: center; }
  section.cal .content { max-width: 900px; padding: 100px 10px; }
  p.imagebox { 
    background-color: #fff;
    padding: 5% 15%;
    margin: 10px 0 30px;
  }
  div.item_list { margin-top: 100px; }
  section.banner_box div { width: 33%; }
  section.banner_box div.banner_txt {
    max-width: 24%;
    padding: 5%;
    background-color: #FCED50;
  }
  .attempt_box .photo { width: 33%; }
  .attempt_box .txt { width: 63%; text-align: left; }
  .voice_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0;
    align-items: flex-start;
  }
  .voice_box div { width: 30%; }
  .two_col div { width: 48%; }
  .tab_content {
    display: none;
    padding: 40px 40px 0;
    clear: both;
    overflow: hidden;
  }
  .circle_list dl dd {
    display: inline-block;
    width: 90%;
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.5;
  }
  div.movie_lay div {
    width: 30%;
    margin: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  section .content { margin: 0 auto; padding: 50px 10px; text-align: center; }
  section.cal .content { max-width: 900px; padding: 50px 10px; }
  p.imagebox { 
    background-color: #fff;
    padding: 5%;
    margin: 10px 0 30px;
  }
  div.item_list { margin-top: 50px; }
  section.banner_box div { width: 100%; }
  section.banner_box div.banner_txt {
    max-width: 100%;
    padding: 5%;
    background-color: #FCED50;
  }
  .attempt_box .photo { width: 100%; }
  .attempt_box .txt { width: 100%; text-align: left; }
  .voice_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0 0;
    align-items: flex-start;
  }
  .voice_box div { width: 45%; margin-bottom: 0px; }
  .two_col div { width: 100%; }
  .tab_content {
    display: none;
    padding: 40px 20px 0;
    clear: both;
    overflow: hidden;
  }
  .circle_list dl dd {
    display: inline-block;
    width: 80%;
    margin-bottom: 30px;
    font-size: 15px;
    line-height: 1.5;
  }
  div.movie_lay div {
    width: 100%;
    margin: 20px 0;
  }
}
section.dot {
  background-image: url("./images/section_back.png");
  background-size: cover;
}
section .content.list,
section.regist .content { max-width: 1024px; }
h2.title, p.subtitle,p.subtitle2 { text-align: center; font-weight: bold; }
h2.title {
  position: relative;
  margin: 0 auto;
  display: inline-block;
  background-image: url(./images/nozei_title_back.png);
  background-size: 81px 47px;
  background-repeat: no-repeat;
  padding-left: 30px;
  background-position: 0;
}
p.subtitle-lead { font-size: 1.57em; color: #F18C93; font-weight: 700; line-height: 1.9; letter-spacing: normal; margin-top: 50px; }
p.subtitle2.-left { text-align: left; margin-top: 50px; }
p.subtitle { margin-bottom: 30px; }
p.subtitle2 { margin: 50px 0;}
div.item_list .box { text-align: left; }
div.item_list .box { max-width: 246px; }
div.item_list h3 {
  background-color: #FFF100;
  padding: 5px 20px;
  line-height: 1.5;
  margin-bottom: 20px;
  text-align: left;
  font-weight: bold;
}
p.subtitle-lead { font-size: 18px; }
section.gray {
  background-color: #EDF0F4;
}
p.flowimage { max-width: 600px; margin: 100px auto; }
p.flowimage.-full { max-width: 100%; margin: 70px auto 100px; }
span.flowimage__note { text-align: right; display: block; margin-top: 2em; font-size: 1.14em;}
.circle_list h3 {
  font-size: 20px;
  margin-top: -5px;
}
.circle_list p { margin: 10px 0 30px; }
section.regist { background-color: #F18C93; }
div.movie_lay {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0 0;
}
div.movie_lay div.movie__box {
  position: relative;
}
div.movie_lay div.movie__box::before {
  content: "";
  display: block;
  padding-top: calc(262 / 420 * 100%);
}
div.movie_lay div.movie__box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
section.cal { background-color: #F17EAE; }
section.cal h2,
section.cal p { color: #fff; }
div.border_box { border: 3px solid #fff; padding: 2%; margin: 50px 0; }
div.border_box p { color: #fff; }
p.cal_table { margin-bottom: 30px; }
p.notice { font-size: 12px; }
p.outlink { margin: 30px 0; text-align: right; }
p.outlink a { color: #fff; text-decoration: underline; }
section.banner_box {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: center;
}
section.banner_box div.banner_txt p { color: #96574B; text-align: center; }
section.banner_box div.banner_txt p.title {
  border-top: 1px solid #96574B;
  border-bottom: 1px solid #96574B;
  padding: 20px;
  font-size: 20px;
}
section.banner_box div.banner_txt p.con_txt { margin: 25px 0;}
section.blue { background-color: #C8D2DC; }
.tabs {
  padding-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin: 50px auto;
}
.tab_item {
  width: calc(100%/2);
  height: 50px;
  background-color: #D9D9D9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover { opacity: 0.75; }
input[name="tab_item"] { display: none; }
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content { display: block; }
.tabs input:checked + .tab_item { background-color: #fff; position: relative; }
.tabs input:checked + .tab_item::before {
  content: "";
  background-image: url("./images/tab_select.png");
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  width: 30px;
  height: 30px;
  left: 0;
  top: 0;
  z-index: 1;
}
.tab_content_description h3 { margin-bottom: 30px; }
.circle_list { text-align: left; margin: 50px 0 30px;}
.circle_list dl dt {
  content: counter(num);
  width: 28px;
  height: 28px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  background-color: #F18C93;
  display: inline-block;
  vertical-align: top;
  line-height: 1.4;
  margin: 0 15px 3px 0;
  font-size: 18px;
}
.attempt_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0;
  align-items: center;
}
.attempt_box .txt p { font-weight: 500; }
.voice_box div p { margin-bottom: 20px; text-align: left; }
.voice_box div p.message { font-weight: 500; font-size: 12px; }
.two_col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.message_txt p { text-align: left; margin-bottom: 2em; }
.message_txt p:last-child { margin-bottom: 0; }

/* slider */
.slick-slide{
	height:auto!important;
  margin-right: 1vw!important;
  margin-left: 1vw!important;
}
.slick-initialized .slick-slide { opacity: 0.2; }
.slick-initialized .slick-slide.slick-active,
.slick-initialized .slick-slide.slick-current { opacity: 1; }
.slick-next{ right:10px!important; }
.slick-prev{ left:10px!important; }
.slick-arrow{ z-index:2!important; }
.slick-arrow:before{ content:""!important; }
.slick-arrow:before{
  content:""!important;
  width: 25px;
  height: 47px;
  position: absolute;
  top: 0;
  left: 0;
}
.slick-next:before{
  background: url(./images/slide_rightarrow.png)!important;
  background-size: contain!important;
}
.slick-prev:before{
  background: url(./images/slide_leftarrow.png)!important;
  background-size: contain!important;
}

/* 固定ページ用 */
@media screen and (min-width:768px) {
  .spv { display: none;}
  .page-content section.conbox { padding: 100px 0; }
}
@media screen and (max-width:767px) {
  .pcv { display: none;}
  .page-content section.conbox { padding: 100px 10px; }
}
.backgray { background-color: #E9E9E9; }
.page-content section {
  max-width: 800px;
  margin: 0 auto;
}
.page-content section .top-contentslist { padding-top: 80px; padding-bottom:0; }