@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト
[2] 詳細デザイン（共通）
	カルーセルパネルA、B
	検索
	トピックス（タブ表示）
	画像横並び（.bannerimg ul）
	flexstyle1　アイコン（上）+テキスト
	flexstyle2　アイコン（左）+テキスト
	flexstyle3　テキストバナー
	横スクロール（自動再生）
	ImageSlider 横スクロールカルーセル
[2] 詳細デザイン
[3] 緊急エリア
	オプション：緊急情報メール（表示切替3パターン）
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト
*******************************************************************************/
:root {
	--cppri:#8C7B72;
	--cpprilight:#DDD6C6;
	--2rows:calc((100% - 16px) / 2);
	--4rows:calc((100% - 32px * 3) / 4);
}
a{
	color:#222;
}
#wrap{
	width:100%;
}
#content3{
	width:100%;
	background:transparent;
	max-width:none;
	min-width:auto;
}
.container{
	margin:auto;
	padding:30px 16px 30px 16px;
	width:100%;
	box-sizing:border-box;
}
/*******************************************************************************
[2] 詳細デザイン（共通）
*******************************************************************************/
/*==============================================================================
	カルーセルパネルA、B
==============================================================================*/
#pickup{
	margin:0px auto 20px auto;
	width:100%;
	text-align:center;
	position:relative;
}
.main_view{
	width:100%;
	position:relative;
	display:flex;
	flex-direction:column-reverse;
}
/*	停止・再生ボタン
------------------------------------------------------------------------------*/
#pickup p.btn{
	margin:5px 10px 0px 0px;
	flex-shrink:1;
}
/*	番号ボタン
------------------------------------------------------------------------------*/
#pickup .pagingwrap{
	z-index:200;
	display:flex;
	align-items:center;
}
#pickup .paging{
	margin:5px 0px 0px 0px;
	width:auto;
	display:none;/*--Hidden by default, will be later shown with jQuery--*/
	flex-shrink:1;
}
#pickup .paging ul{
	list-style:none;
	text-align:left;
	display:flex;
}
#pickup .paging li{
	margin:0px 5px 0px 0px;
}
#pickup .paging li:last-child{
	margin-right:0px;
}
/*------------------------------------------------------------------------------
	スクロールメニュー【A】画像のみ
------------------------------------------------------------------------------*/
#pickup #scroll_a{
	margin:0px 0px 20px 0px;
}
#pickup #scroll_a .window::before{
	padding-bottom:41.667%;
}
#pickup #scroll_a .window::after{
	padding-bottom:41.667%;
}
/*	詳しく見る
------------------------------------------------------------------------------*/
#scroll_a .more{
	padding:4px 6px 4px 8px;
	position:absolute;
	right:5px;
	bottom:5px;
	color:#222222;
	font-size:80%;
	background:#FFFFFF;
	border:1px solid #CCCCCC;
	border-radius:4px;
	line-height:1.5;
}
#scroll_a .photoleft a{
	background-color:#FFFFFF;
	display:block;
}
/*------------------------------------------------------------------------------
	スクロールメニュー【B】画像＋テキスト
------------------------------------------------------------------------------*/
#pickup #scroll_b{
	margin:0px 0px 0px 0px;
}
#pickup #scroll_b .window::before{
	padding-bottom:calc(50% + 2em + 20px);
}
#pickup #scroll_b .window::after{
	padding-bottom:calc(50% + 2em + 20px);
}
/*	左のメイン枠
------------------------------------------------------------------------------*/
#scroll_b .window{
	background:#FFFFFF;
}
#scroll_b .main{
	display:flex;
	flex-direction:column-reverse;
}
#scroll_b .main p.photoleft{
	position:static;
}
#scroll_b .main p.photoleft img{
	max-width:600px;
}
/*	右のテキスト枠
------------------------------------------------------------------------------*/
#scroll_b .main .imgtxt{
	padding:10px 5px 10px 5px;
	text-align:left;
	line-height:1.7;
	box-sizing:border-box;
	overflow:auto;
	height:calc(2em + 20px);
}
#scroll_b .main h2{
	margin:0px 0px 0px 0px;
	font-size:110%;
	text-align:left;
	line-height:1.7;
}
/*==============================================================================
	ImageSlider
==============================================================================*/
/*------------------------------------------------------------------------------
	初期設定
------------------------------------------------------------------------------*/
/*	レイアウト
------------------------------------------------------------------------------*/
.slidelink{
	margin:0 0 20px 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.slidelink .tmenuwrap{
	margin:0px 0px 8px 0px;
	width:100%;
	position:relative;
	order:1;
}
.slidelink .btnwrap{
	order:2;
}
.slidelink .pagingwrap{
	order:3;
	max-width:calc(100% - 44px - 8px);
}
/*	停止ボタン
------------------------------------------------------------------------------*/
.slidelink .btn{
	margin:0px 8px 0px 0px;
	min-width:44px;
}
.slidelink .btn p{
	line-height:0;
}
.slidelink .btn button{
	margin:0px;
	padding:14px 20px 14px 40px;
	font-size:var(--fs14);
	background:#FFF;
	border:none;
	border-radius:100vh;
	box-shadow:var(--boxshadow);
	z-index:2;
	cursor:pointer;
	outline:none;
	transition:none;
}
.slidelink .btn button.image_reel_play{
	background:url(images/newcp/play.svg) no-repeat left 20px center, #FFF;
}
.slidelink .btn button.image_reel_stop{
	background:url(images/newcp/stop.svg) no-repeat left 20px center, #FFF;
}
/*	番号ボタン
------------------------------------------------------------------------------*/
.slidelink .paging ul{
	margin:0px 4px 0px 0px;
	display:flex;
	flex-wrap:wrap;
	list-style:none;
}
.slidelink .paging ul li{
	margin:0px 0px 0px 4px;
}
.slidelink .paging ul li button{
	margin:0;
	padding:0px;
	background:none;
	border:none;
	border-radius:0;
	-webkit-appearance:none;
	cursor:pointer;
	appearance:none;
	line-height:1.0;
	vertical-align:bottom;
}
.slidelink .paging ul li img{
	vertical-align:bottom;
}
/*	左右送りボタン
------------------------------------------------------------------------------*/
ul.scrollwrap{
	margin:0;
	list-style:none;
}
ul.scrollwrap li{
	width:44px;
	height:44px;
	position:absolute;
	top:calc(50% - 22px);
	border-radius:100%;
}
ul.scrollwrap li.back{
	left:0px;
}
ul.scrollwrap li.next{
	right:0px;
}
ul.scrollwrap li button{
	margin:0px;
	padding:0px;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	background-color:#FFF;
	border:2px solid var(--cppri);
	border-radius:100%;
	box-shadow:var(--boxshadow);
	z-index:2;
	cursor:pointer;
	outline:none;
	transition:none;
}
ul.scrollwrap li.back button img{
	transform:rotate(180deg);
}
/* フォーカス */
ul.scrollwrap li button:focus{
	border:3px solid #000!important;
	box-sizing:border-box;
}
/*	メニュー
------------------------------------------------------------------------------*/
.slidelink .tmenu ul{
	margin:0;/*margin-leftはJSで指定*/
	display:flex;
	flex-wrap:wrap;
	list-style:none;
}
.slidelink .tmenu.shown ul{
	justify-content:center;
}
.slidelink .tmenu ul li{
	margin-left:16px;
	width:100%;
	position:relative;
	box-sizing:border-box;
}
.slidelink.contain .tmenu ul li{
	width:calc(100% / 1);
}
.slidelink.extend .tmenu ul li{
	width:80%;
}
.slidelink.extend.overhalf .tmenu ul li{
	width:80%;
}
.slidelink .tmenu ul li a{
	display:block;
	outline:none;
}
.slidelink .tmenu ul li img:not(.external){
	width:100%;
	height:auto;
	vertical-align:bottom;
	box-sizing:border-box;
	outline:none;
}
/* フォーカス */
.slidelink .tmenu ul li:focus-within .border{
	display:block;
	position:relative;
}
.slidelink .tmenu ul li:focus-within .border::after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	border:5px solid #000;
	box-sizing:border-box;
}
/*	テキストあり
------------------------------------------------------------------------------*/
.slidelink.text .tmenu{
	padding:5px;/* box-shadow用 */
}
.slidelink.text .tmenu ul li{
	display:flex;
}
.slidelink.text .tmenu ul li a{
	width:100%;
	display:flex;
	color:#222;
	text-decoration-line:none;
}
.slidelink.text .tmenu ul li .border{
	width:100%;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	background:#FFF;
	box-shadow:0px 0px 5px 0px #999;
	border-radius:8px;
	overflow:hidden;
	transition:.5s background;
}
#wrap .slidelink.text .border > h3{
	margin:10px;
	order:2;
	font-size:120%;
	text-align:left;
	line-height:1.5;
}
#wrap .slidelink.text .border > img:not(.external){
	order:1;
}
#wrap .slidelink.text .border > p{
	margin:10px 15px;
	text-align:left;
	line-height:1.7;
	order:3;
}
/*	JS無効時（ちらつき防止）
------------------------------------------------------------------------------*/
.slidelink .tmenu ul.noscript{
	width:max-content;
	flex-wrap:nowrap;
	opacity:0;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
.toppagebodywrap{
	background-image:linear-gradient(118deg, #D7EDFB 0%, #EEF8FF 25%, #F2F8D9 50%, #E5F6CC 75%, #E3FCE1 100%);
	background-size:120% 120%;
	background-repeat:no-repeat;
}
#toppagebody{
	padding-bottom:48px;
	background:url(images/newcp/newcp_bg.png);
}
#topheaderbg.headerfixed::after{
	content:none;
}
/*==============================================================================
	ImageSlider
==============================================================================*/
/*	.tmenu ul liの横幅 -------------------------------------------------------
	▼ メニュー 枠に収める（.contain）
	width:calc(100% / 枚数);
	
	▼ 前後スライドあり（半分以下）（.extend）
	1枚：width:100.0%～width:50.01%;
	2枚：width:50.00%～width:33.34%;
	3枚：width:33.33%～width:25.01%;
	4枚：width:25.00%～width:20.01%;
	5枚：width:20.00%～width:16.67%;
	6枚：width:16.66%～width:14.29%;
	
	▼ 前後スライドが半分以上見える（.extend.overhalf）
	1枚：width:100.0%～width:33.34%;
	2枚：width:33.33%～width:25.01%;
	3枚：width:25.00%～width:20.01%;
	4枚：width:20.00%～width:16.67%;
	5枚：width:16.66%～width:14.29%;
	6枚：width:14.28%～width:12.51%;
------------------------------------------------------------------------------*/
#imageslider1 .tmenu ul li{
	margin-left:16px;
	width:82%;
}
#imageslider2 .tmenu ul li{
	margin-left:32px;
	width:calc(100% / 3);
}
#imageslider3 .tmenu ul li{
	margin-left:16px;
	width:100%;
}
#imageslider4 .tmenu ul li{
	margin-left:16px;
	width:82%;
}
#imageslider5 .tmenu ul li{
	margin-left:30px;
	width:calc(100% / 3);
}
#imageslider6 .tmenu ul li{
	margin-left:30px;
	width:25.01%;
}
/*==============================================================================
	共通デザイン
==============================================================================*/
.flexwrap{
	display:flex;
	flex-wrap:wrap;
}
a.button,
button.button{
	margin:0px;
	padding:12px 50px 14px 32px;
	display:inline-block;
	font-weight:var(--medium);
	text-decoration:none;
	background:url(images/newcp/mark_button.svg) no-repeat center right 16px, #FFF;
	border-radius:100vh;
	box-shadow:var(--boxshadow);
	box-sizing:border-box;
	text-align:center;
}
a.button:hover,
button.button:hover{
	background-color:var(--gray);
}
#towntopics, #lifeandfun, #about{
	border-top:1px solid #000000;
}
#towntopics h2, #lifeandfun h2, #about h2{
	margin-bottom:16px;
	font-size:var(--fs32);
	letter-spacing:.25em;
	line-height:1.6;
}
/*==============================================================================
	bxslider
==============================================================================*/
#bxsliderbg{
	margin:-40px 16px 0px 16px;
}
#bxsliderbg .bx-wrapper{
	margin:0px 0px 0px auto;
	width:calc(100vw * 240 / 365);
	position:relative;
	z-index:0;
	overflow:hidden;
	filter:drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.16));
}
#bxsliderbg .bx-wrapper li{
	width:100%;
	position:relative;
	overflow:hidden;
}
#bxsliderbg .bxslider li img{
	display:block;
	 -webkit-mask-image:url(images/newcp/mask.svg);
	mask-image:url(images/newcp/mask.svg);
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
}
#bxsliderbg .bxslider li::after {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(images/newcp/border.svg) no-repeat center / 100% 100%;
	pointer-events:none;
}
/*------------------------------------------------------------------------------
	停止ボタン
------------------------------------------------------------------------------*/
#bxsliderbg .bx-wrapper .bx-pager,
#bxsliderbg .bx-wrapper .bx-controls-auto{
	width:auto;
	position:absolute;
	bottom:16px;
	right:16px;
	z-index:9999;
	text-align:left;
}
#bxsliderbg .bx-controls-auto-item button{
	margin:0;
	padding:20px 20px 20px 20px;
	width:auto;
	display:block;
	box-sizing:border-box;
	white-space:nowrap;
	color:#FFF;
	font-size:var(--fs14);
	font-weight:var(--medium);
	background-image:url(images/newcp/bx_stop.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-color:rgba(255, 255, 255, 0.8);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	border:2px solid var(--cppri);
	border-radius:100vh;
	box-shadow:none;
	cursor:pointer;
	appearance:none;
	text-indent:-9999px;
	line-height:0;
}
#bxsliderbg .bx-controls-auto-item button.bx-start{
	background-image:url(images/newcp/bx_play.svg);
}
/*==============================================================================
	リード文
==============================================================================*/
#wrap.newcp h1{
	margin:0px 0px 0px 16px;
	padding:0px;
	font-size:var(--fs40);
	letter-spacing:.25em;
	line-height:1.6;
}
#lead .flexwrap:not(.topics){
	display:block;
	align-items:center;
}
#lead p{
	margin:40px 16px 0px 16px;
}
#lead .anchor{
	margin-top:40px;
}
#lead .anchor ul{
	display:flex;
	list-style-type:none;
}
#lead .anchor ul li{
	width:calc(100% / 3);
}
#lead .flexwrap.topics{
	margin:64px 16px 0px 16px;
	display:block;
}
#lead .flexwrap.topics .rightbox{
	margin-top:16%;
}
/*------------------------------------------------------------------------------
	スタイル
------------------------------------------------------------------------------*/
#lead .container{
	padding:32px 0px 80px 0px;
}
#lead .anchor ul li a{
	padding:4px 2px 15px 2px;
	width:100%;
	height:100%;
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	font-weight:var(--bold);
	text-decoration:none;
	text-align:center;
	border-right:1px solid #222;
	box-sizing:border-box;
	letter-spacing:.075em;
}
#lead .anchor ul li:last-of-type a{
	border:none;
}
#lead .anchor ul li a::before{
	content:"";
	width:20px;
	height:10px;
	position:absolute;
	left:calc(50% - 10px);
	bottom:0px;
	background:url(images/newcp/mark_anchor.svg) no-repeat;
	background-size:100%;
	transition:.3s;
}
#lead .topics h2{
	padding:0px;
	border:none;
}
#lead .topics ul{
	margin:24px 0px 0px 0px;
}
#lead .topics ul li{
	background:url(images/newcp/mark_li.svg) no-repeat left top calc(1.7em / 2 - 16px / 2);
}
#lead .topics ul li::before{
	content:none;
}
#lead .furusato{
	padding:40px;
	padding:clamp(24px, 4vw, 48px) 16px;
	padding:16px;
	position:relative;
	text-align:center;
	z-index:0;
}
.furusato::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  translate:-50% -50%;
  width:100%;
	max-width:380px;
	max-height:380px;
  aspect-ratio:1 / 1;
  border-radius:100vh;
  background:url(images/newcp/newcp_bg.png), var(--cpprilight);
	z-index:-1;
}
#lead .furusato h3{
	font-size:100%;
}
#lead .furusato h3 span.subhead{
	display:block;
	font-weight:var(--medium);
}
#lead .furusato h3 span.mainhead{
	margin-top:16px;
	display:inline-block;
	font-size:var(--fs20);
}
#lead .furusato p{
	margin:24px auto 0px auto;
	max-width:340px;
}
#lead .topics .furusato ul{
	margin:32px 0px 0px 0px;
	display:flex;
	justify-content:center;
	gap:8px;
}
#lead .topics .furusato ul li{
	padding:0px;
	background:none;
}
#lead .topics .furusato ul li a{
	width:100%;
}
/*==============================================================================
	まちの話題
==============================================================================*/
#towntopics ul{
	margin:40px auto 0px auto;
	max-width:624px;
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	list-style-type:none;
}
#towntopics ul li{
	width:var(--2rows);
}
#towntopics ul.morelink li{
	width:100%;
}
/*------------------------------------------------------------------------------
	スタイル
------------------------------------------------------------------------------*/
#towntopics .container{
	padding-top:64px;
	padding-bottom:64px;
}
#towntopics ul li a{
	width:100%;
	font-weight:var(--medium);
	text-decoration:none;
}
#towntopics ul li a img:not(.external){
	border-radius:16px;
}
#towntopics ul li a p{
	margin-top:8px;
}
#towntopics ul li a .ttcate{
	padding:1px 8px 3px 8px;
	display:inline-block;
	font-size:var(--fs12);
	background:#FFF;
	border:1px solid var(--cppri);
	border-radius:100vh;
}
#towntopics ul li a .tttitle{
	padding:8px 0px 0px 0px;
	display:block;
}
#towntopics .articleall2{
	display:flex;
	flex-direction:column;
}
#towntopics .infoarticle{
	order:2;
	text-align:center;
}
#towntopics button.button{
	margin:0px;
	position:relative;
	width:calc(5em + 84px);
	background:#FFF;
	border:none;
}
#towntopics button.button::before,
#towntopics button.button::after{
	content:"";
	width:16px;
	height:2px;
	position:absolute;
	right:24px;
	top:calc(50% - 1px);
	background:var(--cppri);
	transition:.3s all;
}
#towntopics .plus2 button.button::after{
	transform:rotate(90deg);
}
#towntopics button.button:hover{
	background-color:var(--gray);
}
#towntopics ul.ex{
	margin-top:0px;
}
#towntopics ul.morelink{
	margin-top:16px;
	margin-bottom:40px;
}
/*==============================================================================
	とよたの暮らし・あそび
==============================================================================*/
/*------------------------------------------------------------------------------
	レイアウト
------------------------------------------------------------------------------*/
#lifeandfun .flexwrap{
	gap:32px;
}
#lifeandfun .flexwrap .instabutton{
	margin-top:16px;
}
#lifeandfun .flexwrap.sublink{
	margin:64px 16px 0px 16px;
	align-items:flex-start;
	justify-content:center;
}
#lifeandfun .flexwrap.sublink a{
	text-decoration:none;
}
#lifeandfun .flexwrap.sublink li{
	width:247px;
	align-items:center;
}
#lifeandfun .flexwrap.sublink li .leftbox{
	text-align:center;
}
#lifeandfun .flexwrap.sublink li .rightbox{
	margin-top:16px;
}
/*------------------------------------------------------------------------------
	スタイル
------------------------------------------------------------------------------*/
#lifeandfun .container{
	padding:64px 0px 64px 0px;
}
#lifeandfun h2,
#lifeandfun .container > .flexwrap:not(.sublink) p{
	padding:0px 16px;
}
#lifeandfun .container > .flexwrap:not(.sublink){
	margin-top:40px;
	display:block;
}
#lifeandfun .flexwrap .instabutton a{
	width:100%;
}
/*	スライドバナー
------------------------------------------------------------------------------*/
#imageslider1{
	margin:64px 0px 64px 0px;
}
#imageslider1 a .hoverimg,
#imageslider1 img:not(.external){
	border-radius:32px;
}
/*	サブサイトリンク
------------------------------------------------------------------------------*/
#lifeandfun .flexwrap.sublink li .leftbox .hoverimg,
#lifeandfun .flexwrap.sublink li .leftbox img{
	border-radius:24px;
}
#lifeandfun .flexwrap.sublink li .rightbox a{
	text-decoration:none;
}
#lifeandfun .flexwrap.sublink li .rightbox h3{
	font-size:100%;
}
#lifeandfun .flexwrap.sublink li .rightbox p{
	margin:8px 0px 0px 0px;
	padding:8px 0px 0px 0px;
	border-top:1px solid #222;
}

/*==============================================================================
	こんなまち とよた
==============================================================================*/
/*------------------------------------------------------------------------------
	レイアウト
------------------------------------------------------------------------------*/
#about .flexwrap.mapwrap{
	margin:48px auto 0px auto;
	max-width:1088px;
	gap:32px;
	align-items:center;
}
#about ul.movie{
	margin:64px auto 64px auto;
}
#about ul.movie li{
	margin:0px 0px 32px 0px;
	width:100%;
	text-align:center;
}
#about .flexwrap.linkwrap{
	margin-top:40px;
	display:block;
}
/*------------------------------------------------------------------------------
	スタイル
------------------------------------------------------------------------------*/
#about .container{
	padding-top:64px;
}
#about .flexwrap.mapwrap .leftbox{
	position:relative;
	width:100%;
	text-align:center;
}
#about .flexwrap.mapwrap .leftbox ul{
	list-style-type:none;
}
.leftbox .sliderframe{
	position:relative;
	overflow:hidden;
	width:100%;
}
.leftbox .sliderframe ul{
	display:flex;
	margin:0;
	padding:0;
	list-style:none;
	transition:transform 0.4s ease;
	will-change:transform;
}
.leftbox .sliderframe ul > li{
	flex:0 0 100%;
	max-width:100%;
	margin:0;
}
.leftbox .sliderframe ul > li img.slide{
	width:100%;
	height:auto;
	display:block;
}
.leftbox .nav-btn[aria-disabled="true"]{
	opacity:0.4;
	cursor:auto;
}
#about .flexwrap.mapwrap .leftbox .btnwrap{
	padding-top:40px;
}
#about .flexwrap.mapwrap .leftbox .btnwrap p{
	position:relative;
	min-height:52px;
}
#about .flexwrap.mapwrap .leftbox .btnwrap button{
	margin:0px;
	padding:0px;
	position:absolute;
	color:#222;
	font-weight:var(--medium);
	background:none;
	border:none;
}
#about .flexwrap.mapwrap .leftbox .btnwrap button#btnLeft{
	padding:14px 0px 14px 60px;
	transform:translateX(-50%);
	left:calc(50% - 65px);
}
#about .flexwrap.mapwrap .leftbox .btnwrap button#btnRight{
	padding:14px 60px 14px 0px;
	transform:translateX(50%);
	right:calc(50% - 64px);
}
#about .flexwrap.mapwrap .leftbox .btnwrap button::before{
	content:"";
	width:44px;
	height:44px;
	position:absolute;
	top:calc(50% - 22px);
	background:#FFF;
	border:2px solid var(--cppri);
	box-shadow:var(--boxshadow);
	border-radius:100vh;
}
#about .flexwrap.mapwrap .leftbox .btnwrap button#btnLeft::before{
	left:0px;
}
#about .flexwrap.mapwrap .leftbox .btnwrap button#btnRight::before{
	right:0px;
}
#about .flexwrap.mapwrap .leftbox .btnwrap button::after{
	content:"";
	width:11px;
	height:11px;
	position:absolute;
	top:calc(50% - (11px / 2));
	border-left:2px solid var(--cppri);
	border-bottom:2px solid var(--cppri);
}
#about .flexwrap.mapwrap .leftbox .btnwrap button#btnLeft::after{
	left:20px;
	transform:rotate(45deg);
}
#about .flexwrap.mapwrap .leftbox .btnwrap button#btnRight::after{
	right:20px;
	transform:rotate(-135deg);
}

#about .flexwrap.mapwrap p a{
	padding:8px;
	position:absolute;
	top:-10px;
	left:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:var(--medium);
	font-size:var(--fs13);
	text-decoration:none;
	background:#FFF;
	border-radius:100vh;
	box-shadow:var(--boxshadow);
	text-align:center;
	aspect-ratio:1 / 1;
	line-height:1.4;
}
#about .flexwrap.mapwrap p a::before{
	content:"";
	width:26px;
	height:27px;
	position:absolute;
	top:-15px;
	left:-15px;
	background:url(images/newcp/access.svg) no-repeat;
	background-size:100%;
}
#about .flexwrap.mapwrap p a:hover{
	background:var(--gray);
}
#about .flexwrap.mapwrap .rightbox ul{
	margin-top:16px;
	display:flex;
	gap:8px;
	list-style-type:none;
	justify-content:center;
}
#about ul.movie li a{
	padding:0px;
	background:none;
}
/*	スライドバナー
------------------------------------------------------------------------------*/
#imageslider3{
	margin-top:40px;
}
#imageslider3 .tmenu{
	padding-bottom:16px;
}
#imageslider3 .tmenu ul{
	align-items:stretch;
}
#imageslider3 .tmenu ul li .border{
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}
#imageslider3 .tmenu ul li .border img:not(.external){
	order:1;
	border-radius:32px;
}
#imageslider3 .tmenu ul li .border h3{
	order:2;
	margin:16px 8px 0px 8px;
	font-size:var(--fs16);
}
#imageslider3 .tmenu ul li .border p:not(.buttonwrap){
	order:3;
	margin:8px 8px 0px 8px;
	padding-top:8px;
	border-top:1px solid #222;
	flex-grow:1;
}
#imageslider3 .tmenu ul li .border .buttonwrap{
	order:4;
	margin-top:24px;
	width:100%;
}
#imageslider3 ul.scrollwrap li{
	top:calc(((100vw - 32px) * 228 / 343) * 0.5 - 44px / 2);
}
#imageslider3 ul.scrollwrap li.back{
	left:-8px;
}
#imageslider3 ul.scrollwrap li.next{
	right:-8px;
}
#imageslider3.slidelink .tmenu ul li:focus-within .border::after{
	content: none;
}
#imageslider3.slidelink .tmenu ul li a:focus{
	border:2px solid #222;
}
/*	動画
------------------------------------------------------------------------------*/
#about ul.movie{
	list-style-type:none;
}
#about ul.movie li img:not(.external){
	margin:0px auto;
	border-radius:32px;
}
#about ul.movie li p{
	margin-top:16px;
	font-weight:var(--medium);
	text-align:center;
}
#about .iframewrap{
	width:100%;
	aspect-ratio:16 / 9;
	line-height:1;
}
#about .iframewrap iframe{
  width:100%;
  height:100%;
}
/*	インスタ
------------------------------------------------------------------------------*/
#about h3.h3title{
	margin-bottom:16px;padding-left:32px;
	position:relative;
	font-size:var(--fs26);
	letter-spacing:.15em;
}
#about h3.h3title::before{
	content:"";
	width:32px;
	height:1px;
	position:absolute;
	left:-16px;
	top:calc(50% + 2px);
	background:#222;
}
#about .bannerimg{
	margin:24px auto 0px auto;
}
#about .bannerimg ul{
	margin:0px auto;
	max-width:548px;
	gap:16px;
}
#about .bannerimg ul li{
	margin:0px;
	width:var(--2rows);
}
#about .bannerimg ul li img{
	border-radius:24px;
	box-shadow:none;
}
#about .flexwrap.linkwrap .leftbox h4{
	font-size:var(--fs16);
	font-weight:var(--medium);
}
#about .flexwrap.linkwrap .leftbox p{
	margin-top:4px;
}
#about .flexwrap.linkwrap .rightbox p,
#about .flexwrap.linkwrap .rightbox p a{
	margin-top:16px;
	width:100%;
}
#about .eventbutton{
	margin-top:80px;
	text-align:center;
}
#about .eventbutton a{
	padding:20px 80px 20px 80px;
	font-weight:var(--bold);
	background-image:url(images/newcp/event_left.png), url(images/newcp/event_right.png);
	background-repeat:no-repeat;
	background-position:left 20px center, right 20px center;
	background-size:40px;
	letter-spacing:.075em;
}
#about .eventbutton a span.ebuttonsub{
	margin-bottom:4px;
	position:relative;
	display:block;
	font-size:var(--fs14);
	font-weight:var(--medium);
}
#about .eventbutton a span.ebuttonsub::before,
#about .eventbutton a span.ebuttonsub::after{
	content:"";
	width:1px;
	height:16px;
	position:absolute;
	left:-14px;
	top:calc(50% - 8px);
	background:#222;
	transform:rotate(-25deg);
}
#about .eventbutton a span.ebuttonsub::after{
	left:auto;
	right:-14px;
	transform:rotate(25deg);
}
#about .eventbutton a span.ebuttonmain{
	font-size:var(--fs16);
}
/*==============================================================================
	関連リンク
==============================================================================*/
#kanren .container{
	padding:30px 0px;
}
/*------------------------------------------------------------------------------
	スタイル
------------------------------------------------------------------------------*/
#kanren h2{
	padding:0px 16px;
	font-size:var(--fs26);
	text-align:center;
	letter-spacing:.075em;
}
#imageslider4{
	margin:40px 0px 0px 0px;
}
#wrap #imageslider4 .hoverimg,
#imageslider4 img{
	border-radius:32px;
}
#imageslider4 ul.scrollwrap li.back{
	left:4px;
}
#imageslider4 ul.scrollwrap li.next{
	right:4px;
}
/*==============================================================================
	フッター
==============================================================================*/
.newcp #footerbg{
	margin-top:0px;
	background:#FFF;
}