@charset "utf-8";
/* CSS Document */
#wrapper {
/*font-family: -apple-system-body, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", "游ゴシック  Medium", "Yu Gothic Medium", "メイリオ", meiryo, sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif;
	
}
input[type=checkbox] {
  transform: scale(1.5);
  vertical-align:1%;
}

body{
	background:#000;
	color:#fff;
}
#wrapper {
	max-width: 1024px;
	width:100%;
	margin:0 auto;
	padding:0;

}
.footer {
	border-top:1px dotted #fff;
	max-width: 1024px;
	width:100%;
	margin:5% auto 2%;
	padding-top:2%;
	color:#fff;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	text-align:center;
}
.foooter {
	text-align:center;
	margin-top:5%;
}
#wap{
	margin:0 auto;
	width:96%
}

#wrapper a {
	text-decoration: none;
}

.head a:link {
	color: #fff;
	text-decoration: underline;
}

.head a:visited {
	color: #fff;
	text-decoration: underline;
}

.head a:hover {
	color: #666;
	font-weight:600;
}

.head a:active {
 color: #fff;
 text-decoration: underline;
}

#wrapper *{
	box-sizing:border-box;
}


/*共通---------------------*/
.head{
	margin:0 auto 0;
	width:100%;
	color:#fff;
	padding:3%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height:1.5;
	text-align:left;
}

.head_left{
	font-size:clamp(1rem, 0.545rem + 2.27vw, 2rem);
	font-weight:800;
	width:32%;
}
.head_center{
	width:32%;
}
.head_center span{
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
//	padding:1% 2%;
//	border-top:dotted 1px #fff;
//	border-bottom:dotted 1px #fff;
}
.head_right{
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	width:32%;
	text-align:right;
}
.head_right a{
	border:1px solid #fff;
	padding:1% 2%;
}

.page_title{
	font-size:clamp(1rem, 0.545rem + 2.27vw, 2rem);
	padding:1% 2%;
	border-top:dotted 1px #fff;
	border-bottom:dotted 1px #fff;
	font-family: serif;
	font-weight:600;
}
.main_con{
	margin:5% auto 0;
}
.exp_tx{
	margin:3% auto 2%;
	width:100%;
	border:1px dotted #666;
	padding:1%;
	line-height:1.5;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
}

.search_box{
	margin:0 auto 0;
	display: flex;
//	justify-content: center;
	align-items: center;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
}
.search_in{
	margin:1%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page_box{
	margin:1% auto;
	text-align:right;
	padding-right:1%;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
}
.now_page{
	font-size:1.1em;
	font-weight:800;
}

.page_box a:link {
	color: #fff;
	text-decoration: underline;
}

.page_box a:visited {
	color: #fff;
	text-decoration: underline;
}

.sbmit_box{
	margin:2% auto;
	text-align:center;
	border-bottom:1px dotted #225588;
	padding-bottom:2%;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
}
.sbmit_bt {
	width:30%;
	line-height:1.5;
	font-size:1em;
	border: 1px solid #ccc;
	background: #f1e767;
	background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
	background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
	background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
	-webkit-box-shadow: inset 1px 1px 1px #fff;
	box-shadow: inset 1px 1px 1px #fff;
}

.sbmit_bt:hover {
	background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
	background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
	background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}

.hisu{
	font-size:1.4em;
	color:#B22222;
	vertical-align:-34%;
}

.back_box{
	margin:1% auto;
	width:50%;
}
.back_bt{
	border:1px solid #666;
	width:100%;
	white-space: nowrap;
	display: block;
	padding:2% 2% 2% 2%;
	border-radius:0.4vw;
	background:#fff;
	text-align:center;
}
a.back_bt:hover {
	background: #efefef;
}

.menu{
	margin:3% auto 2%;
	display: flex;
	justify-content: center;
	align-items: center;
	width:96%;
}
.menu_box{
	margin:0 auto;
	width:24%;
	line-height:1.5;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
}

.menu_bt{
	border:1px solid #666;
	width:100%;
	white-space: nowrap;
	display: block;
	padding:2% 2% 2% 2%;
	border-radius:0.4vw;
	background:#fff;
	text-align:center;
}

a.menu_bt:link,
a.menu_bt:visited,
a.menu_bt:active {
	color: #000;
}
a.menu_bt:hover {
	background: #efefef;
	font-weight:600;
}

.regist_b{
	margin-top:3%;
	border:1px solid #666;
	text-align:center;
	width:14rem;
	border-radius:0.2vw;
	line-height:1.5;
	background:#c1e8ff;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
}
.regist_b a::after {
	font-weight: 900;
	content: '\f054';
	font-family: "Font Awesome 5 Free"; 
	margin-left: 1em;
}
.regist_b a{
	display: block;
	padding:2%;
}
.regist_b a:hover {
	background: #efefef;
}
.regist_b a:link,
.regist_b a:visited,
.regist_b a:active {
	color: #000;
}
.regist_b a:hover {
	font-weight:600;
}
input{

	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	padding:0.25vw;
}
select{
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	padding:0.25vw;
}

/*メインメニュー---------------------*/
.main_menu{
	margin:3% auto 0;
	display: flex;
	align-items: center;
	width:96%;
}

.menu_b{
	border:2px solid #666;
	text-align:center;
	width:20%;
	border-radius:0.2vw;
}

.menu_b a{
	display: block;
	padding:10%;
}
.menu_b a:hover {
	background: #efefef;
}
.menu_t{
	padding-left:3%;
	line-height:1.6;
}
.menu_b a::after {
	font-weight: 900;
	content: '\f054';
	font-family: "Font Awesome 5 Free"; 
	margin-left: 1em;
}
.menu_b a:link,
.menu_b a:visited,
.menu_b a:active {
	color: #000;
}
.menu_b a:hover {
	font-weight:600;
}


/*ログイン---------------------*/
.login{
	margin:0 auto 0;
}
.logiin_in{
	margin:1% auto 0;
	width:80%;
	display: flex;
	justify-content: center;
	color:#fff;
}
.logiin_l{
	width:6em;
}
.logiin_r{
//	width:60%;
}
.submit_con{
	margin:3% auto 0;
	width:40%;
	text-align: center;
}


/*編集---------------------*/
.form_com{
	margin:2% auto 0;
	width:90%;
	border-top:dotted #666 1px;
}
.form_inner{
	margin:0 auto;
	width:100%;
	display: flex;
	border-bottom:dotted #666 1px;
}

.form_title{
	width:24%;
	color:#fff;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	background: linear-gradient(#829ebc,#225588);
	padding:2%;
	font-weight:600;
}
.form_input{
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	padding:2%;
	align-self: center ;
}
.form_input img{
	max-width:300px;
	width:100%;
}
.img_date{
	margin-bottom:2%;
}
/*メイン--------------*/
.my_h_con{
	margin:3% auto 0;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	padding-left:2%;
}
.my_h_con_inner{
	margin:2% 2% 0 0;
	width:48%;
}
.my_h_con button{
	border:none;
	background: linear-gradient(90deg, #b39855 0%, #fff9e6 50%, #b39855 100%);
	background-repeat: no-repeat;
	width:100%;
	padding:2%;
	line-height:1.5;
	text-align:left;
	position: relative;
	display: inline-block;
	cursor: pointer;
}
.my_h_name{
	font-family: serif;
	font-size:clamp(1rem, 0.455rem + 2.73vw, 2.2rem);
	font-weight:bold;
//	padding-bottom:0.3%;
	border-bottom:1px dotted #C39000;
	color:#000;
}
.my_h_info{
	margin-top:2%;
}
.my_h_info span{
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	background: linear-gradient(20deg, #BDC3C9 0%, #fff 50%, #BDC3C9 100%);
	color:#000;
	padding:0.5% 2%;
}
.my_h_pe{
	margin-top:1%;
}
.my_h_pe span{
	font-size:clamp(0.5rem, 0.318rem + 0.91vw, 0.9rem);
	border:1px dotted #C39000;
	background:#efefef;
	color:#666;
	padding:0.5% 2%;
}
.my_h_con button::after{
    content: '';
    width: 1.4vw;
    height: 1.4vw;
    margin-top: -0.7vw;
    border-top: solid 3px #fff;   /* 好みで色を変えてください */  
    border-right: solid 3px #fff;   /* 好みで色を変えてください */  
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 4%;
}
.my_h_con button:hover {
	opacity: 0.6;
}


.td_c{
	text-align:center;
}
.td_c img{
	max-width:30px;
}

.edit_bt{
	border:1px solid #666;
	border-radius:0.2vw;
	margin:0 auto;
}

.report_img_box button{
	background:none;
	border:none;
	display: inline-block;
  transition: .3s;
  	width:100%;
  	padding:0;
}
.report_img_box button:hover {
	transform: scale(1.1);
	opacity: 0.6;
}
/* ---------------------------- */
/* --- ギャラリーモーダル --- */
/* ---------------------------- */
.modalOpen{
	cursor: pointer;
}
.gallery_box button{
	background:none;
	border:none;
	display: inline-block;
  transition: .3s;
}
.gallery_box button:hover {
	transform: scale(1.1);
	opacity: 0.6;
}

/* モーダル */
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	padding: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s;
	pointer-events: none;
	opacity: 0;
	z-index: 100;
	background-color: rgba(0, 0, 0, 0.8);
}

/* モーダルがactiveの時 */
.modal.is-active {
	opacity: 1;
	pointer-events: auto;
}

/* モーダル背景のオーバーレイ部分 */
.modal__overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

/* モーダルのコンテンツ */
.modal__content {
		position: relative;
		width: 100%;
//		max-width: 1000px;
		padding: 20px;
}
.modal_inner {
		filter: drop-shadow(0px 0px 4px #ddd);
		background: #000;
		width: 90%;
		margin: 0 auto;
		border-radius: 2px;
		padding: 20px 25px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-aliggn:center;
}

.modal_inner img{
	margin:0 auto;
//	max-width:600px;
	width:100%;
}
/* 閉じるボタン */
.modal__close-btn {
		position: absolute;
		right: 0;
		top: -40px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 20;
}
.modal__close-btn:hover {
		opacity: 0.8;
}

/* 閉じるボタンのX */
.lineClose {
		display: inline-block;
		vertical-align: middle;
		color: #fff;
		line-height: 1;
		width: 2rem;
		height: 0.1rem;
		background: currentColor;
		border-radius: 0.1rem;
		position: relative;
		transform: rotate(45deg);
}
.lineClose::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
}

.swiper-button-next,.swiper-button-prev{
    border-radius: 50%;
    width: clamp(2rem, 1.765rem + 1.18vw, 2.5rem);
    height: clamp(2rem, 1.765rem + 1.18vw, 2.5rem);
//    margin-top:-10%;

}

.swiper-button-next::after,.swiper-button-prev::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #fff;
	font-size: clamp(1.0rem, 1.4vw, 1.4rem);
}

.swiper-button-next::after {
    content: '\f054'; /* FontAwesomeの右矢印 */
}

.swiper-button-prev::after {
    content: '\f053'; /* FontAwesomeの左矢印 */
}


/*レポートプレビュー--------*/
.report_pre{
	margin:0 auto;
	background:#000;
	color:#fff;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	padding:4%;
	width:100%;
	line-height:1.5;
	
}
.report_name{
	font-family: serif;
	font-size:clamp(1.2rem, 0.382rem + 4.09vw, 3rem);
	font-weight:bold;
	padding-bottom:0.3%;
	border-bottom:1px solid #fff;
}
.report_info{
	margin-top:1%;
	font-family: serif;
}
.report_pre_inner{
	margin-top:2%;
	display: flex;
	justify-content: space-between;
	background:#fffbee;
	padding:3%;
	color:#2f2f2f;
	font-family: serif;
}
.report_pre_left{
	width:70%;
}
.report_title{
	font-size:clamp(0.9rem, 0.491rem + 2.05vw, 1.8rem);
}
.report_pre_right{
	width:28%;
}
.report_pre_right .r_photo{
	margin-top:4%;
}
.report_pre_right .r_photo img{
	width:100%;
}
/*ギャラリー--------------*/
.gallery_box{
	display: flex;
	flex-wrap: wrap;
	padding-left:2%;
}
.photo{
	margin-top:3%;
	width:30%;
	margin-right:2%;
}

.photo img{
	width:100%;
}
.gallery_date{
	width:100%;
	color:#fff;
	margin-top:2%;
	font-size:clamp(0.6rem, 0.418rem + 0.91vw, 1rem);
	text-align:center;
}
/*----------*/

nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #fff;
    color: #000;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
}

nav.globalMenuSp ul {
    background: #ccc;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
    font-size: 1.1em;
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px dotted #333;
}

/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #000;
    padding: 1em 0;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active2 {
    transform: translateY(0%);
}


.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 13px;
    top: 12px;
    width: 42px;
    height: 51px;
    cursor: pointer;
    z-index: 3;
    background: #666;
    text-align: center;
}

.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 3px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 9px;
}

.navToggle span:nth-child(2) {
    top: 18px;
}

.navToggle span:nth-child(3) {
    top: 27px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}


/* 最初のspanをマイナス45度に */
.navToggle.active2 span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active2 span:nth-child(2),
.navToggle.active2 span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.navToggle{
	display:none;
}


.select_input{
	margin-top:10px;
}
.select_input ul{ 
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	border-top:2px solid #666;
	padding:10px 0;
}

.select_input input[type="radio"]  {
    -webkit-transform: scale(2);
    -webkit-transform-origin:100% 50%;
    -moz-transform: scale(2);
    -moz-transform-origin:100% 50%;
    -ms-transform: scale(2);
    -ms-transform-origin:100% 50%;
    width:20px;
    height:20px;
    vertical-align: middle;
}

.sp_on{
	display:none;
}

/* ************************************************************************************************ */
@media screen and (max-width: 768px) {

.sp_on{
	display:inline-block;
	width:100%;
}
.sp_none{
	display:none;
}
.report_img_box button.big_view{
	display:none;

}


.glay2_fl2{
	display:block;

}

#wrapper .title_com .title_tx{
	right: 30%;

}

.swiper .swiper-button-next,.swiper .swiper-button-prev{
	margin-top:-5%;
}

.td_14_on{
	max-width:90px;

}

#wrapper .td_10 .td_10_in{
	margin:10% auto 0;

}
.arrow::before,
.arrow::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.15vw);
	right: 2vw;
	width: 3.28vw;
	height: 0.625vw;
//	border-radius: 9999px;
	background-color: #fff;
	transform-origin: calc(100% - 0.8px) 50%;
}


.circle .circle_01 , .circle .circle_02{
	margin:24% auto 0;
	width: 5vw;
	height: 5vw;
	font-size: 0.9rem;
	padding-right:4%;
	padding-bottom:4%;
}
.maru{
	width: 5vw;
	height: 5vw;
}
.search_box{
	display:block;
}
.sb_title{
	width:30%;
	text-align:right;
}
.sb_input{
	width:70%;
	text-align:left;
}

.menu{
	flex-wrap: wrap;
}
.menu_box{
	margin:1% auto 0;
	width:46%;
}
.form_inner{
	display: block;
}
.form_title,.form_input{
	width:100%;
}
.td_c img{
	max-width:16px;
}
.my_h_con{
	display: block;
}
.my_h_con_inner{
	margin:2% auto 0;
	width:90%;
}

.report_pre_inner{
	display: block;
}
.report_pre_left{
	width:100%;
}

.report_pre_right{
	width:100%;
}

.report_pre_right .r_photo{
	margin-top:0;
}
.report_pre_right .r_photo img{
	width:100%;
}
.report_img_box{
	display: block;
	flex-wrap: wrap;
}
.report_img_box_01,.report_img_box_02{
	width:100%;
	margin-top:2%;
}

.photo{
	margin-top:3%;
	width:48%;
	margin-right:2%;
}
.menu_box{
	width:30%;
}
}



@media screen and (max-width: 600px) {
.navToggle{
	display:block;
}
}
