/* Setting
-------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	vertical-align: baseline;
}
ul {
	margin: 0;
	list-style: none;
}
li{
	margin: 0;
}
.clear {clear: both;}
a {text-decoration:underline;color: #e25980;}
a:hover{text-decoration:underline;}
a:active,a:focus {outline:0 none;}
::selection { color: #555; background-color: #cbf2ff;}
::-moz-selection { color: #555; background: #cbf2ff; }
:focus {-moz-outline-style: none;}

.align_left{float:left;}
.align_right{float:right;}

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

body{
	font-size: 16px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
}


h1,h2,h3,h4,h5{text-align: center;margin-bottom: 30px;}

h2{font-size: 1.5em;}
h3{font-size: 1.3em;}
h4{font-size: 1.2em;}
h5{font-size: 1.1em;}
p{line-height: 1.8em;font-weight: 500;}

a:hover img,nav li a:hover{
filter:alpha(opacity=60);
     -moz-opacity:0.60;
     -khtml-opacity: 0.60;
     opacity:0.60;
}
.sp{display: none!important;}
.disabled{visibility: hidden;}

/*font*/
.font-gothic{
font-family: source-han-sans-japanese, sans-serif;
font-weight: 400;
font-style: normal;
}
.font-avenir{
    font-family: "avenir-lt-pro", sans-serif;
font-weight: 800;
font-style: normal;
}

/* Layout
-------------------------------------------------- */
#wrapper {
    background-color: #d5ebe1;
    font-family: zen-maru-gothic, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.inner{
	max-width: 1050px;
    width: 100%;
	margin: 0 auto;
    padding: 50px 0 0 0 ;
    overflow: hidden;
}
section{
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 100px;
	padding-top: 100px;
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;

}
img{width: 100%;height: auto;}
.photo{max-width: 700px; margin: 0 auto;}


/* サイドバー side
-------------------------------------------------- */
.side{
    width: 230px;
    margin: 0 auto;
    height: auto;

}
.side .sideimg{
    margin-bottom: 30px;
    position: relative;
}
.side .sideimg img{
    position: relative;
    z-index: 0;
}
.side .sideimg .child{
    position: absolute;
    top: 36.5%;
    right: 5%;
    width: 65px;
    z-index: 100;
}
.side .sideimg .fish{
    position: absolute;
    bottom:38%;
    left: 5px;
    width: 70px;
    z-index: 200;
}


.side .tag{
    width: 100%;
    margin: 0;
    margin-bottom: 50px;
    padding: 10px 5px 20px;
    border-radius: 15px;
    border: 1px solid #e25980;
    background-color: #fff;
    color: #e25980;
}
.side .tag h3{
    font-weight: 900;
    margin: 0;
    padding: 0;
    padding-bottom: 7px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e25980;
}

.side .tag li{
    display: inline-block;
    padding: 2px 10px;
    margin: 3px 2px;
    border-radius: 30px;
    background-color: #ebebeb;
    font-size: 0.8em;
}
.sticky {
     position: sticky;
    top:20px;
}

/* メイン main
-------------------------------------------------- */
.main{
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.top-icon{
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px
}

.top-icon .icon-img{
    display: inline-block;
    margin: 0 10px;
}
.fuwafuwa{
    animation: fuwafuwa 3.0s ease-in-out infinite alternate;
    animation-iteration-count:3
}
.fuwafuwa2{
    animation: fuwafuwa2 3.0s ease-in-out infinite alternate;animation-iteration-count:3
}
.fuwafuwahito{
    animation: fuwafuwahito 1.5s ease-in-out infinite alternate;
}


.top-icon img{width: 80px;}

@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0)  rotate(0deg);
  }

  25% {
    transform: scale(0.90)   rotate(-7deg);
  }
/*
  50% {
    transform: scale(0.90)  rotate(0deg);
  }
*/
  75% {
     transform: scale(0.90) rotate(7deg);
  }
  100% {
     transform:translate(0, 0)  rotate(0deg);
  }
}


@keyframes fuwafuwa2 {
  0% {
    transform:translate(0, 0)  rotate(0deg);
  }

  25% {
    transform: scale(0.90)   rotate(7deg);
  }
/*
  50% {
    transform: scale(0.90)  rotate(0deg);
  }
*/
  75% {
     transform: scale(0.90) rotate(-7deg);
  }
  100% {
     transform:translate(0, 0)  rotate(0deg);
  }
}
@keyframes fuwafuwahito {
  0% {
    transform:translate(0, 0) rotate(-5deg);
  }

/*
  50% {
   transform: scale(0.90);
  }
*/
  100% {
    transform:translate(0, 0) rotate(5deg);
  }
}


/* メイン レポートreport
-------------------------------------------------- */
.report{margin-bottom: 50px;}
.report ul{
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-flow: wrap;
/*    flex-direction: row-reverse;*/
}

.report li{
    width: 33%;
    margin-bottom: 35px;
    padding: 0;
    text-align: center;
}
.report ul > li:nth-last-child(2){
    order: 1;
}
.report ul::after{
    display: block;
    content:"";
    width: 33%;
    order: 2;
}


.report li:nth-child(2) {
    -webkit-order:-2;
    order:-2;
}
.report li:nth-child(3) {
    -webkit-order:-1;
    order:-1;
}　


.report li .photo{margin-bottom: 10px;}

.report-toptext{
    width: 22px;
    margin: 110px 0px 0px 0px;
}
.textbox1,.textbox2{
    padding: 5px;
    margin: 85px 15px 0;
    background-color: yellow;
    border: 2px solid #333;
    line-height: 1.5em;
    font-weight: 700;
    text-align: center;
    height: 290px;
    font-size: 1.2em;
}
.textbox2{margin-top: 135px;}
.text-tate p{
    font-family: "tbudmincho-std", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.text-tate{writing-mode: vertical-rl; text-align: left!important;}
.report p{text-align: center;}
.report .report-li p{
    margin-top: 0px;
    margin-bottom: 7px;
    line-height: 2em;
    background-color: #fff;
    display: inline-block;
    padding: 0 10px;
    font-weight: 700;
}
.report .perort-tag{
    margin: 10px 0;
    padding: 0;
    font-size: 0.8em;
    text-align: center;
}
.report ul.perort-tag{
    justify-content: center;
    flex-direction: row;
}
.report .perort-tag li{
    margin: 0px 5px;
    width: auto;
    padding: 5px 8px;
    line-height: 1em;
}

.report-rain img{width: 80%;}
.report-rain{
    color: #0071b5;
}
.report-rain h3{
    display: inline-block;
    width: auto;
    margin: 10px auto 10px;
    font-size: 1em; 
    font-weight: 900; 
    padding: 2px 13px; 
    color: #fff; 
    background-color:#0071b5;
    border-radius: 25px; }
.report-rain h4{font-weight: 900;margin-bottom: 0;}
.report-rain a{color: #333; font-weight: 900;}



.map{
    max-width: 650px;
    width: 100%;
    margin: 0 auto 50px;
}
.map-title{
    position: relative;
    width: 100%;
    height: 110px;
    background-image: url("../images/play2025/map-bg-header.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    margin-bottom: -2px;
}
.map-fotter{
    position: relative;
    width: 100%;
    height: 144px;
    background-image: url("../images/play2025/map-bg-fotter.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    margin-top: -2px;
}
.map-title img{
    position: absolute;
    z-index: 100;
    width: 185px;
    top: 65px;
    right: 75px;
}
.map-main{
    position: relative;
    width: 100%;
    background-image: url("../images/play2025/map-bg-main.svg");
    background-repeat: repeat-y;
    background-size: 100%;
    padding: 0 50px;
}
.google-map{
    width: 100%;
    background-color: rgba(183,178,178,1.00);
    height: 480px;
}



.tokuhain{
    max-width: 650px;
    margin: 0 auto;
    width: 100%;
    background-image: url("../images/play2025/tokuhain-main.svg");
    background-repeat: repeat-y;
    margin-bottom: 70px;
    position: relative;
}
.tokuhain-head{
    width: 100%;
    position: absolute;
    top:-20px;
    left: 0;
}
.tokuhain-fotter{
    width: 100%;
    position: absolute;
    bottom:-20px;
    left: 0;
}
.tokuhain-member{
    width: 100%;
    margin: 0;
    padding: 50px 50px 30px 40px;
}
.tokuhain-member h2{
    max-width: 360px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
    padding-left: 60px
}
.tokuhain-list .member{
    display: flex;
    border-bottom: 1px dashed #00a296;
    padding: 25px 0;
}
.tokuhain-list .member:last-child{border: none;}
.tokuhain-list .photo{max-width: 165px; margin-right: 15px}
.tokuhain-list .member-text{flex: 1;}
/*.tokuhain-list .member h3{max-width: 220px;margin-bottom: 10px;}*/
.tokuhain-list .member h3{width: 100%;margin-bottom: 10px; text-align: left;}
.tokuhain-list .member h3 img{width: auto;height: 30px;display: inline-block;}


/**-----  レポート　シングル ------**/
/**-----  レポート　シングル<ヘッダ> ------**/
.play-header{
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    margin-top: 50px;
}
.play-header .photo{
    margin-right: 25px;
}
.play-header .photo img{
    max-width: 550px;
    width: 100%;
    border: 12px solid #fff;
    box-shadow: 1px 1px 10px #666;
}
.play-header .header-text{
    flex: 1;
    text-align: center;
}
.play-header .header-text p{
    line-height: 1.5em;
    background-color: #fff;
    padding: 2px 15px;
    display: inline-block;
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.play-header .header-text .place p{
    background-color: #111;
    color: #fff;
    padding: 1px 30px 5px 30px;
    margin: 20px auto 7px;
    border-radius: 20px;
    display: inline-block;
    font-size: 14px;
    font-weight: 100;
}
.play-header .header-text .place p i{
    margin-right: 8px;
}
.play-header .header-text .date{
    margin-bottom: 27px;
    font-family: "Arial", Sans-serif;
}

.play-header .header-text .tag li{
    display: inline-block;
    margin: 5px 5px;
    font-size: 0.9em;
}

.play-header .member{
    margin: 30px auto;
    display: flex;
    max-width: 300px;
    width: 100%;
    font-family: "Arial", Sans-serif;
    justify-content: flex-start;
}
.play-header .member .member-photo{
    width: 70px;
    height: 70px;
}
.member-photo img,.member .photo img{border-radius: 50%;}
.play-header .member p{
    background:none ;
    font-size: 16px;
    text-align: left;
    font-weight: 100;
    margin-top: 4%;
}

/**-----  レポート　シングル content ------**/
.content{
    font-family: "Arial", Sans-serif;
    background-color: #fff;
    border-radius: 15px;
    padding: 0px 70px 100px 70px;
    margin-bottom: 50px;
}
.content h1,.content h2,
.content h3,
.content h4,
.content h5{
    color: #00a296;
    margin-bottom: 30px;
    text-align: center;
    font-family: zen-maru-gothic, sans-serif;
    font-weight: 700;
    line-height: 1.5em;
    text-decoration: underline;
    text-underline-offset: 8px;

}
.content p{
    margin: 30px 0;
    line-height: 1.8em;
}
.content .report-bottom{
    text-align: right;
    margin: 30px 0 70px;
}

.content .infomation{
    max-width: 710px;
    width: 100%;
    padding: 50px 50px;
    background-color: #f4e4a4;
    margin: 60px auto 0;
}

.content .infomation-title{
    max-width: 320px;
    margin: 0 auto 30px;
}
.content .infomation .photo{text-align: center;margin-bottom: 30px;}
.content .infomation .photo img{
    max-width: 500px;
    width: 100%;
    border: 15px solid #fff;
}

.content .infomation h1{
    color: #111;
    text-decoration: none;
    font-size: 1.7em;
}
.content .infomation table{
    width: 100%;
    border-collapse:  collapse; /* セルの線を重ねる */
}
.content .infomation th,
.content .infomation td{
    padding: 15px 0;
    border-bottom: 1px dashed #fff;
    line-height: 1.5em;
}


.content .infomation th{
    text-align: left;
    width: 90px;
    font-weight: bold;
}

.content div,.wp-caption {width: 100%!important;}
.content .wp-caption-text{
    margin: 0 auto;
    font-size: 0.8em;
    width: 80%;
    display: block;
}
.content img{width: 80%;margin-left: auto;margin-right: auto;display: block;}

.report-slider{
    margin: 50px auto 70px;
    overflow: hidden;
    width: 100%;
    text-align: center;
}

.report-slider h2{
    max-width: 470px;
    width: 90%;
    margin: 0 auto 50px;
    text-align: center;
    display: inline-block;
    padding-left: 60px;
}


li.slick-slide {
  width: 230px;
}

.space{height: 50px;}

#talk-navi {
    padding: 40px 6% 0;
    font-size: 14px;
/*
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
*/
    background: #fff;
    margin-bottom: 30px;
}
#talk-navi ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    flex-wrap: wrap;
}
#talk-navi a img,
.popup-open img{
    margin: 0 0 0 2px;
    display: block;
    font-size: 12px;
    color: #000;
    letter-spacing: .15em;
    text-align: center;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    position: relative;
    width: 60px;
    text-decoration: none;
}
#talk-navi .prev a:after {
    content: '前へ';
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    text-align: center;
}
#talk-navi label.popup-open:after {
    content: 'もくじ';
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    text-align: center;
    text-decoration: underline;
}
#talk-navi .next a:after {
    content: '次へ';
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    text-align: center;
}
#talk-navi a{color: #111;}


/**-----  SNS　シェアボタン ------**/

#sns{padding:80px 0; position: relative;margin-top: 80px}
.sns{
	text-align: center; 
	margin-top: -95px;
	position: relative;
    z-index: 500;
}
.sns h3{text-align: center; padding: 0; letter-spacing: 0.2em; font-size: 1.5em; margin-bottom: 20px;}
.sns ul{text-align: center;}
.sns ul li{display: inline-block; margin: 0 20px;}
.sns a:hover img{opacity: 0.7;}


/* フッター footer
-------------------------------------------------- */
footer{
	width: 100%;
	margin: auto;
	padding: 0 0 60px;
	text-align: center;
	position: relative;
	z-index: 500;
}

#sociallink {
	text-align: center;
	position: relative;
	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 10px;
	padding: 0;
}

footer #logo {width: 85px;}

#sociallink a{display: inline-block;}

#copyright {
font-size:10px;
color:#999;
text-align:center;
margin: 0;
padding: 0;
}


/* TOP navi
-------------------------------------------------- */
.top-navi{}
.top-navi .top-img{
	background-image: url("../images/fishing/head_image.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	max-height: 700px;
}
.top-navi .top-img .photo{max-width:850px;margin: 0 auto;padding: 2% 0;}

/* TOP navi　*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    z-index: 9999;
    
}
#page-top a {
    background: rgb(10, 10, 10, 0.3);
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 15px 0;
    text-align: center;
    display: block;
    border-radius: 50px;
}


/* ポップアップ　メニュー
-------------------------------------------------- */
#popup {
  display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}

.popup-overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
  display: block;
  z-index: 99999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.popup-window {
  width: 90vw;
  max-width: 560px;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 6px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.popup-text {
  margin: 0;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: -26px;
  right: 0;
}

ul.reportMenu{
    display: block!important;
}
ul.reportMenu li{
    display: block;
    position: relative;
}
ul.reportMenu li a{
    display: block;
    width: 100% !important;
    padding: 16px 0;
    margin: 0;
    font-size: 18px !important;
    border-bottom: 1px solid #dcd9d9;
    text-align: center;
    text-decoration: none;
    color: #111;
}
ul.reportMenu li a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 3px solid #333; /* 線の太さ */
	border-right: 3px solid #333; /* 線の太さ */
	transform: rotate(45deg); /* 右向き矢印 */
}
ul.reportMenu li:last-child a{border-bottom: none;}


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


/* Tablet 画面の横幅が 〜999pxまで */
@media only screen and (max-width: 999px) {
	.top-navi .top-img .photo {padding: 100px 5%;}
}


/* Mobile 画面の横幅が480pxまで */
@media only screen and  (max-width: 480px) {
	h1,h2,h3,h4,h5,p{
		padding-left:2%;
		padding-right: 2%;
		line-height: 1.2em;
	}
	.align_left,.align_right {float: none;}
	section{padding-top:50px;}
    #header .toplogo {padding: 5px 0 0;}
	.sp{display: block!important;}
	.pc{display: none!important;}
    #page-top {display: none;}
	
	.inner{width: 90%; margin-left: auto; margin-right: auto; padding-top: 27px; padding-bottom: 25px;}
    .side {width: 90%;}
    .side .sideimg {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .side ul {text-align: center;}
    .report {margin: 50px auto 0;}
    .top-icon img {width: 110%;}
    .top-icon{display: flex!important;margin-bottom: 0;}
    .main .top-icon{display: none!important;}
    .side .tag {margin-bottom: 0px;}
    
    .report li {width: 100%;}
    .report li:nth-child(2) {
        -webkit-order:0;
        order:0;
    }
    .report li:nth-child(3) {
        -webkit-order:0;
        order:0;
    }
    .text-tate p {padding-top: 20%;}
    .report-rain h4 {font-size: 1.5em;}
    .report-rain h3 {font-size: 1.2em;}
    .report p {line-height: 1.8em;}
    .report-rain img{width: 75%;}
    
    .map-title {height: 58px;}
    .map-title img {
        width: 140px;
        top: 36px;
        right: 35px;
    }
    .map-main {padding: 15px 30px;}
    .map-fotter {height: 75px;    margin-top: -15px;}
    
    .tokuhain-member h2 {margin-bottom: 0;}
    .tokuhain-list .photo {max-width: 70px;}
    .tokuhain-member {padding: 50px 25px 30px 25px;}
    .tokuhain-fotter {bottom: -13px;}
    
    .play-header {display: block;}
    .play-header .photo {
        margin-right: 0;
        width: 100%;
        margin-bottom: 50px;
    }
    .play-header .photo img {width: 97%;}
    .play-header .header-text{
        font-size: 0.8em;
    }
    .play-header .header-text .place p {margin-top: 35px;}
    .play-header .header-text .date {margin-bottom: 20px;}
    .content {padding: 50px 20px; margin-bottom: 50px;font-size: 0.9em;}
    .content .infomation {padding: 50px 20px;}
    .content .infomation h1 {
        font-size: 1.3em;
        line-height: 1.3em;
    }
    .content h2{font-size: 1.4em;}
    .content h3{font-size: 1.3em;}
    .content h4{font-size: 1.2em;}
    .content h5{font-size: 1.1em;}
    .content .infomation table {font-size: 0.9em;}
    .content .infomation th{
        width: 85px;
    }
    .content img,
    .content .wp-caption-text{width: 100%;}
    .report-slider h2 {margin: 0 auto 20px;}
    .report-slider {margin: 0px auto;}
    .text-tate {
        writing-mode: vertical-rl;
        text-align: center !important;
        width: 200px !important;
        margin-right: auto;
        margin-left: auto;
    }
    
    #talk-navi {padding: 10px 0;font-size: 0.8em;}
    #talk-navi img{width: 45px!important;}
    .report ul > li:nth-last-child(2){order: 0;}
    .report ul {margin-bottom: 50px;}
    .content div .popup-window {width: 90vw!important;}
    ul.reportMenu li a {font-size: 1.2em!important;}
}