@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
*/
/*-----comon-----*/
p {
	text-align: justify;
}
.kaigyo {
	display: inline-block;
}
.fwn {
	font-weight: normal;
}
.tac {
	text-align: center;
}
.tal {
	text-align: left;
}
.fs16 {
	font-size: 16px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mr20 {
	margin-right: 20px !important; 
}
.mr1em {
	margin-right: 1em !important;
}
.mb-40 {
	margin-bottom: -40px !important;
}
.p1em {
	padding: 1em !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.p1-2 {
	padding: 1.2em !important;
}
.pl-06 {
	padding-left: 0.6em !important;
}
.pl-2_2em {
	padding-left: 2.2em !important;
}
.bo-r14 {
	border-radius: 14px !important;
}
.mw250c {
	max-width: 250px;
	margin: 0 auto;
}
.mw500c {
	max-width: 500px;
	margin: 0 auto;
}
.mw800c {
	max-width: 800px;
	margin: 0 auto ;
}
.mw900c {
	max-width: 900px;
	margin: 0 auto !important;
}
.lst-none {
	list-style-type: none !important;
	padding-left: 0 !important;
}
.vatb {
	vertical-align: text-bottom;
}
@media (max-width: 959px) {
	.sp-none {
		display: none;
	}
}
/*--フルワイドの幅調整--*/
@media (min-width: 1200px){
	.prl-2em {
		padding-right: 2.0em;
		padding-left: 2.0em;
	}
	.ml-40 {
		margin-left: -40px;
	}
}
/*--画像重なりの表示順調整--*/
.img-x {
    z-index: 10;
    position: relative;
}
/*--ページタイトルのフォントサイズ--*/
h1.c-pageTitle {
	font-size: 26px;
}
@media (min-width: 600px) {
    h1.c-pageTitle {
        font-size: 2.0em;
    }
}
/*--テーブル調整--*/
@media not all and (min-width: 960px) {
    .sp_block_ td, .sp_block_ th {
		padding: .65em .95em;
    }
}

/*-----header-----*/
/*--g-nav--*/
.c-gnav>.menu-item>a {
    padding: 0 8px;
}
.c-gnav>.menu-item>a .ttl {
    display: block;
    font-size: 17px;
    width: 110px;
}
.c-gnav > li:hover > a, .c-gnav > .-current > a {
    background: #2c4c98;
    color: #ffffff;
    font-weight: bold;
}
.l-fixHeader__logo {
	padding: 0;
}
@media (min-width: 960px){
	.-series .l-header__logo{
		padding: 6px 0;
	}
}


/*-----fooer-----*/
.l-footer__widgetArea {
    padding-bottom: 3em;
    padding-top: 3em;
}
.l-footer__foot {
	padding-bottom: 0.4em;
    padding-top: 0.4em;
	color: #fff;
	background-color: #2c4c98;
}
@media (max-width: 959px){
	#nav_menu-3 {
		margin-top: -3em;
	}
}
@media not all and (min-width: 960px) {
    .-img .c-headLogo__link {
        display: block;
        padding: 0;
    }
}

/*-----top-----*/
/*--MV--*/
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	display: none;
}
.mv-copy {
	/* 最小1.8rem | 最大7.2rem */
	font-size: clamp(1.8rem, calc(3.25vw + 4.5rem), 7.2rem);
}

/*-----無限スライダー-----*/
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0.5rem; /* 画像間の余白を指定 */
}
.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}
.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 26s infinite linear; /* アニメーションの時間を指定 */
}
.loop-slider .swell-block-column figure {
    width: 300px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}
.loop-slider .swell-block-column figure::before {
    padding-top: 65%; /* 画像の縦横比を指定 */
    display: block;
    content: "";
}
.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}
@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 160px; /* 画像の横幅を指定（スマホ） */
    }
}
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

/*-----投稿記事 カテゴリー-----*/
.icon-folder:before,.c-categoryList:before {
	display:none;
}
.p-articleMetas.-bottom {
	display:none;
}
.c-pageTitle__inner,.l-articleBottom__title {
	font-family: "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN","MS PMincho", serif;
}
.c-pageTitle__subTitle {
	display: none;
}
.icon-folder {
    background-color: #2c4c98;
    font-size: 12px;
	color: #fff;
    padding: 3px .5em;
	margin-top: -4px;
}
.icon-posted:before {
    content: none;
}
.c-postTimes__posted.icon-posted {
	font-size: 14px;
	padding-left: 0.2em;
}
.-type-simple .p-postList__meta {
	margin: 0 0 8px;
}
.p-postList__title {
	padding-left: 0.2em;
}
.-type-simple .p-postList__link:hover {
    background-color: #fff;
}

/*-----search-box-----*/
.wp-block-search__input:focus-visible {
    outline: none !important; /* focus-visible の黒い線を完全に消す */
    border-radius: 0px !important; /* 角丸をなくす */
    box-shadow: none !important; /* 外側の白い線が box-shadow によるものだった場合 */
}

.wp-block-search__input {
    border-radius: 0px !important; /* 通常時の角丸をなくす（もしあれば） */
}

.wp-block-search__inside-wrapper {
    border-radius: 0px !important; /* 内側のラッパーの角丸をなくす可能性 */
}

/*sp-menu*/
.p-spMenu__body {
    font-size: 16px;
}
.c-widget__title.-spmenu {
    padding: 0.3em 3.5em;
    font-size: 20px;
}


/*-----リンクボタンカスタム-----*/
.button-c a {
  font-family: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 18px;
  letter-spacing: 0.1em;
  color: #2c4c98;
  font-weight: 400;
  border: 1px solid #2c4c98;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 300px;
  text-align: center; 
  padding: 16px 64px;
  margin: 24px;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  z-index:999;
  transition: all 0.3s;
}

.button-c a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 60px;
  height: 1px;
  background: #2c4c98;
  transition: all 0.3s ease;
}
.button-c a:hover::after {
  animation: OutIn-Line 700ms;
  transition: all 0.3s;
}
@keyframes OutIn-Line {
    0% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }
    50% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }
    50.1% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
    100% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

/*-----Swellボタン-----*/
[class*=is-style-btn_] a {
    padding: 0.5em 0.5em;
    /*width: 100px;*/
}

/*-----会員一覧（都道府県）-----*/
.has-border.-border03 {
	border: none;
    border-bottom: var(--border03);
}

/*-----search-box-----*/
.wp-block-search__input :focus-visible {
    outline: none !important; /* focus-visible の黒い線を完全に消す */
    border-radius: 0px !important; /* 角丸をなくす */
    box-shadow: none !important; /* 外側の白い線が box-shadow によるものだった場合 */
}
.wp-block-search__input {
    border-radius: 0px !important; /* 通常時の角丸をなくす（もしあれば） */
}
.wp-block-search__inside-wrapper {
    border-radius: 0px !important; /* 内側のラッパーの角丸をなくす可能性 */
}
.c-searchForm__s {
	outline: none !important;
	border-radius: 0px !important;
	box-shadow: none !important;
}

/*問い合わせフォーム*/
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea{
	display: block;
	width: 100%;
	height: 45px;
	margin-bottom: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 3px;
	background-color: #f4f4f4;
	box-shadow: none;
	color: #333;
	font-size: 18px;
	vertical-align: middle;
	line-height: 45px;
}
.wpcf7 textarea {
	max-width: 100%;
	min-height: 160px;
	line-height: 1.5em;
	padding: 0.8em;
	overflow: auto;
}
.wpcf7 input[type="email"]::placeholder,
.wpcf7 input[type="tel"]::placeholder,
.wpcf7 textarea::placeholder
{
	color: #aaa;
	font-size: 16px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #dc3232 !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #2c4c98 !important;
}
@media(max-width:599px) {
	.inquiry td,
	.inquiry th {
		display: block !important;
		width: 100% !important;
		border-top: none !important;
		-webkit-box-sizing: border-box !important;
		-moz-box-sizing: border-box !important;
		box-sizing: border-box !important;
	}
	.inquiry tr:first-child th {
		border-top: 1px solid #ddd !important;
	}
}
.inquiry th {
	text-align: left;
	font-size: 17px;
	color: #333;
	padding-left: 1.0em;
	width: 30%;
	background: #f4f8fd;
	border: solid 1px #ddd;
	font-weight: 700;
	font-style: normal;
}
.inquiry td {
	font-size: 14px;
	border: solid 1px #ddd;
	padding: 0.8em;
}
.req { /* 必須 */
	font-size: 12px;
	padding: 5px;
	background: #dc3232;
	color: #fff;
	border-radius: 2px;
	margin-right: 10px;
	position: relative;
	bottom: 1px;
}
.any { /* 任意 */
	font-size: 12px;
	padding: 5px;
	background: #aaa;
	color: #fff;
	border-radius: 2px;
	margin-right: 10px;
	position: relative;
	bottom: 1px;
}
.verticallist .wpcf7-list-item {
	display: block;
}
.wpcf7-list-item {
	display: block;
	font-size: 16px;
	margin: 0 0 0 0.6em;
}
.wpcf7-list-item-label {
	margin-left: 5px;
}
th {
	font-weight: normal !important;
	padding: 13px;
}
td {
	border-top: 1px solid #ededed;
	padding: 12px;
}
input,
textarea {
	margin: 0;
	max-width: 100%;
	resize: none;
}
.wpcf7-submit {
	display: block;
	width: 350px;
	margin: 25px auto 0;
	padding: 15px;
	cursor: pointer;
	font-size: 18px;
	background-color: var(--color_main);
	border: 2px solid #2c4c98;
	/*border-radius: 10px;*/
	color: #fff;
	font-weight: 700;
	transition: .25s;
}
.wpcf7-submit:hover {
	background-color: #ffffff;
	border: 2px solid #2c4c98;
	color: #2c4c98;
}
/* チェックボックスとラジオボタンの選択時の色を共通で設定 */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
	accent-color: #2c4c98;
}
.wpcf7-form-control:focus {
	outline: none;
	border-color: #c3cee7;
	box-shadow: 0 0 0 2px rgba(44, 76, 152, 0.15);
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 1em;
	border: 2px solid #00a0d2; /* Blue */
}
.wpcf7 form.init .wpcf7-response-output {
	display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}
/*--都道府県セレクトボックス--*/
.wpcf7 select {
	max-width: 50%;
	font-size: 16px;
}
