@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.h2bg-left {
  position: absolute;
  top: 1em;
  left: -20%;
  font-size: 4rem;
  writing-mode: sideways-lr;
  opacity: .2;
  white-space: nowrap;
}
.h2bg-right {
  position: absolute;
  top: 1em;
  right: -20%;
  font-size: 4rem;
  writing-mode: sideways-rl;
  opacity: .2;
  white-space: nowrap;
}
.h2bg-center {
  position: absolute;
  top: 0;
  left: 50%;
  font-size: 4rem;
  transform: translate(-50%, -50%);
  opacity: .2;
  white-space: nowrap;
}
@media screen and (max-width: 960px) {
  .h2bg-left {
    top: 0;
    left: 0;
    transform: translateY(-50%);
    writing-mode: unset;
  }
  .h2bg-right {
    top: 0;
    right: 0;
    transform: translateY(-50%);
    writing-mode: unset;
  }
}

/*名前ループスライダー*/
.roop-slider_name {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:200px;
  overflow: hidden;
	height:fit-content;
}
.roop-slider_name ul{
	display:flex;
	padding: 0;
	margin:0;
	height:fit-content;
}
.roop-slider_name li{
	height:fit-content;
	list-style: none;
	font-size: 2rem;
	margin: 0 .4em;
	font-weight: bold;
	font-style: italic;
	text-wrap: nowrap;
}
.roop-slider_name ul:first-child {
  animation: roop-slider_1 100s -50s linear infinite;
}
.roop-slider_name ul:last-child {
  animation: roop-slider_2 100s linear infinite;
}



/*画像ループスライダー*/
.roop-slider_image .swell-block-columns {
  display: contents !important;
}
.roop-slider_image .swell-block-fullWide__inner {
	display: flex !important;
	margin: 0 calc(50% - 50vw) !important;
	overflow: hidden !important;
}
.roop-slider_image .wp-block-group__inner-container {
	display: flex !important;
	margin: 0 calc(50% - 50vw) !important;
}
.roop-slider_image .swell-block-columns__inner {
	display:flex !important;
	flex-wrap: nowrap !important;
	padding: 0 !important;
	margin:0 !important;
}
.roop-slider_image .swell-block-column{
	width: 50vmin !important;
	list-style: none !important;
}
.roop-slider_image .swell-block-column figure {
	align-content: center;
  height: 100%;
}
.roop-slider_image .swell-block-column figure img {
	width: auto !important;
}
.roop-slider_image .swell-block-columns:first-child .swell-block-columns__inner {
	animation: roop-slider_1 50s -25s linear infinite;
}
.roop-slider_image .swell-block-columns:last-child .swell-block-columns__inner {
	animation: roop-slider_2 50s linear infinite;
}


/*ループスライダー共通*/
@keyframes roop-slider_1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes roop-slider_2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/*見出し両サイドボーダー*/
.sideborder span {
	display: flex;
	align-items: center;
	width: 100%;
	&::before,&::after {
		content: "" !important;
		height: 1px;
		flex-grow: 1;
		background-color: var(--color_main);
	}
	&::before {
		margin-right: 1rem;
	}
	&::after {
		margin-left: 1rem;
	}
}

/*見出し左ボーダー*/
.leftborder span {
	display: flex;
	align-items: center;
	width: 100%;
	&::before {
		content: "" !important;
		height: 2px;
		flex-grow: 1;
		background-color: var(--color_main);
	}
	&::before {
		margin-right: 1rem;
	}
}
/*見出し右ボーダー*/
.rightborder span {
	display: flex;
	align-items: center;
	width: 100%;
	&::after {
		content: "" !important;
		height: 2px;
		flex-grow: 1;
		background-color: var(--color_main);
	}
	&::after {
		margin-left: 1rem;
	}
}

p.tag strong {
  display: inline-block;
  padding: .25em .5em;
  margin: .25em;
  border-radius: 5px;
  box-shadow: 2px 2px 2px #888;
  background-color: #01609A;
  color: #fff;
}


/*FAQアコーディオン化*/
.swell-block-faq__item .faq_q{
	cursor: pointer;
	padding-right:2rem;
}
.swell-block-faq__item .faq_q::after {
    position: absolute;
    top: 45%;
    right: .25rem;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    -webkit-transform: translate(0px,-2px) rotate(135deg);
    transform: translate(0px,-2px) rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
		transition:.5s;
}
.faq_q.faq-open::after {
	transition:.5s;
    -webkit-transform: translate(0px,2px) rotate(-45deg);
    transform: translate(0px,2px) rotate(-45deg);
}
.faq_a{
		transition:.5s;
}
.faq_q:not(.faq-open)+.faq_a{
    padding-top: 0;
    padding-bottom: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
	transition:.5s;
}