@charset "utf-8";
/*************************************
* ローディング画面
*************************************/
/*ローディング画面*/
html{
	overflow-y:scroll;
}
/* ローディングの背景部分のCSS */
.loader{
	background-color: #fff;
	height:100vh;
	left:0;
	position:fixed;
	top:0;
	width:100%;
	z-index:6000;
}
.loader-animation {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	padding: 0;
	text-align: center
}
.loader-animation p:first-child { animation-delay: 1s }
.loader-animation p:nth-child(2) { animation-delay: 1.2s }
.loader-animation p:nth-child(3) { animation-delay: 1.4s }


@keyframes fadein-load{
0% {
opacity: 0;
transform: translateX(20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}





@keyframes home-main-fade{
0% {
transform: scale(1.3);
}
100% {
transform: scale(1);
}
}



@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}


@keyframes loop3 {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}

@keyframes loop4 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}

/* ribbon */
.ribbon {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}
.ribbon canvas {
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 100%;
	min-width: 1920px;
	height: 100%;
	min-height: 1080px;
}
@media screen and (max-width: 1120px) {
	.ribbon canvas {
		min-width: 800px;
		min-height: 500px;
	}
}



/*==================================
シャッ
===================================*/

/*背景色が伸びて出現 共通*/
.bgextend{
animation-name:bgextendAnimeBase;
animation-duration:0.7s;
animation-fill-mode:forwards;
position: relative;
overflow: hidden;/*　はみ出た色要素を隠す　*/
opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
animation-name:bgextendAnimeSecond;
animation-duration:0.7s;
animation-delay: 0.7s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes bgextendAnimeSecond{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

/*--------- 左から --------*/
.bgLRextend::before{
animation-name:bgLRextendAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #2EB100;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
0% {
transform-origin:left;
transform:scaleX(0);
}
50% {
transform-origin:left;
transform:scaleX(1);
}
50.001% {
transform-origin:right;
}
100% {
transform-origin:right;
transform:scaleX(0);
}
}

/*フェードイン*/
.fadeInTrigger { opacity: 0 }
.fadeInTrigger.fadeIn {
	animation-name:fadeInTriggerAnime;
	animation-duration:1.3s;
	animation-delay: 0.5s;
	animation-fill-mode:forwards;
	opacity: 0
}
@keyframes fadeInTriggerAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/*下からフェードイン*/
.fadeUpTrigger { opacity: 0 }
.fadeUpTrigger.fadeUp {
	animation-name:fadeUpTriggerAnime;
	animation-duration:1.5s;
	animation-delay: 0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
	transform: translateY(40px);
}
@keyframes fadeUpTriggerAnime{
0% {
transform: translateY(40px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}

/*************************************
* animation
*************************************/
[data-animation][data-animation-type=fadeIn] {
  opacity: 0;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
[data-animation=after][data-animation-type=fadeIn] {
  opacity: 1;
}
[data-animation][data-animation-type=fadeUp] {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
	transform: translate(0, 50px);
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
@media only screen and (max-width: 1120px) {
  [data-animation][data-animation-type=fadeUp] {
    -webkit-transform: translate(0, 30px);
    transform: translate(0, 30px);
  }
}
[data-animation=after][data-animation-type=fadeUp] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
[data-animation][data-animation-type=fadeLeft] {
  opacity: 0;
  -webkit-transform: translate(30px, 0);
	transform: translate(30px, 0);
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
[data-animation=after][data-animation-type=fadeLeft] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
[data-animation][data-animation-type=fadeRight] {
  opacity: 0;
  -webkit-transform: translate(-30px, 0);
	transform: translate(-30px, 0);
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
[data-animation=after][data-animation-type=fadeRight] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
[data-animation][data-animation-type=title] {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
	transform: translate(0, 50px);
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
@media only screen and (max-width: 1120px) {
  [data-animation][data-animation-type=title] {
    -webkit-transform: translate(0, 30px);
    transform: translate(0, 30px);
  }
}
[data-animation][data-animation-type=title]::after {
	width: 0;
	-webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
[data-animation=after][data-animation-type=title] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
[data-animation=after][data-animation-type=title]::after {
  width: 200px;
}
@media only screen and (max-width: 1120px) {
	[data-animation=after][data-animation-type=title]::after {
		width: 100px;
	}
}


/*************************************
* メインビジュアルテキスト部分
*************************************/
.main-bgextend{
animation-name:main-bgextendAnimeBase;
animation-duration:0.7s;
animation-delay: 3.8s;
animation-fill-mode:forwards;
position: relative;
overflow: hidden;/*　はみ出た色要素を隠す　*/
opacity:0;
}

@keyframes main-bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.main-bgappear{
animation-name:main-bgextendAnimeSecond;
animation-duration:0.7s;
animation-delay: 3.8s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes main-bgextendAnimeSecond{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

/*--------- 左から --------*/
.main-bgLRextend::before{
animation-name:main-bgLRextendAnime;
animation-duration:0.7s;
animation-delay: 3.8s;
animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #2EB100;/*伸びる背景色の設定*/
}
@keyframes main-bgLRextendAnime{
0% {
transform-origin:left;
transform:scaleX(0);
}
50% {
transform-origin:left;
transform:scaleX(1);
}
50.001% {
transform-origin:right;
}
100% {
transform-origin:right;
transform:scaleX(0);
}
}





@media screen and (min-width: 1121px) ,print {
/*************************************
* 共通
*************************************/
main { display: block }
.small { font-size: 12px; line-height: 20px }
.area-c-pc { text-align: center }
/*デザインによって数値を設定*/
.content-inner { width: 90%; margin: auto; padding: 0; max-width: 1300px; height: 100%; position: relative; z-index: 1; }
.detail-inner { margin: auto; padding: 0; width: 95%; height: 100%; }
section,article { margin-top: 120px;  display: block; }
body#home section,body#home article { margin-top: 300px;  display: block; }
/*PCのみ非表示*/
.dsp-no-pc { display: none !important; }
/*電話番号タグに追加（PCのときはリンクボタン機能なし）*/
.tel { pointer-events: none; }
/*ぱんくず*/
#breadcrumbs {
	text-align: right;
	font-size: 15px;
	padding-top: 20px;
	color: #000
}
#breadcrumbs .content-inner * { display: inline-block; } 
#breadcrumbs ul li { display: contents; position: relative; }
#breadcrumbs ul li + li::before { content: "/"; display: inline-block; margin-right: 4px; }
#breadcrumbs a, #breadcrumbs a:visited { color: #000; }
.color-a { color: #E1499B }
/*************************************
* ローディング　PC
*************************************/
.loader-animation p {
	display: inline-block;
	margin: 10px;
	animation-name: fadein-load;
	animation-duration: 0.5s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	opacity: 0;
	transform: translateX(20px);
	animation-timing-function: ease-in-out
}
.loader-animation p img { height: 100px; width: auto; }
/*************************************
* 見出し
*************************************/
.page-h1-area { margin-top: 140px; }
.h1-01 { text-align: center; background-color: #FFF0FB; padding: 80px 0 }
.h1-01 * { display: block }
.h1-01 .en { font-size: 90px; line-height: 100px; }
.h1-01 .jp { font-size: 40px; line-height: 50px; font-weight: 700; margin-top: 2rem }

.h2-01-area { padding: 40px 0 0 0; margin-bottom: 3rem; position: relative }
.h2-01-area:after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(/img/parts/h2-border.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 200px auto;
	width: 200px;
	height: 13px
}
.h2-01-area.center { text-align: center }
.h2-01-area.center:after { left: 50%; transform: translateX(-50%) }
.h2-01-area span { display: block }
.h2-01-area .en { font-size: 70px; line-height: 75px; }
.h2-01-area .jp { font-size: 30px; margin-top: 25px }
.h3-01 { font-size: 25px; line-height: 35px; margin-bottom: 1rem }
.h3-02 { margin-bottom: 2rem; text-align: center }
.h3-02 .en { font-size: 55px; line-height: 60px; }
.h3-02 .jp { font-size: 25px; line-height: 30px; margin-left: 15px }
.h3-03 { font-size: 25px; line-height: 40px; padding-bottom: 15px; margin-bottom: 1.5rem; border-bottom: 2px solid #E1499B }
.h4-01 { font-size: 20px; line-height: 30px; margin-bottom: 1rem }
/*************************************
* テーブル
*************************************/
table.table-01 { width: 100%; }
table.table-01 tr { border-bottom: 1px solid #ddd; }
table.table-01 tr:first-child { border-top: 1px solid #ddd }
table.table-01 th { width: 30%; padding: 15px 8px 15px 15px; }
table.table-01 td { background-color: #fff; padding: 15px; }
table.table-01 td .small { font-size: 10px; margin-left: 5px; }
/*************************************
* リスト
*************************************/
ul.list-01, ul.list-01 li { list-style: none; } 
ul.list-01 li { padding-left: 1.2em; text-indent: -1.2em; }
ul.list-01 li:before {
	font-family: 'Font Awesome 5 Free';
	content: '\f111';
	color: #E14869;
	margin-right: 0.3em;
	font-weight: bold;
}
/*************************************
* header
*************************************/
header { position: fixed; width: 100%; left: 0; top: 0; z-index: 1000 }
.h-logo {
	display: inline-block;
	position: absolute;
	left: 5%;
	top: 30px;
	transform-origin: left top;
}
.h-logo > * { display: inline-block; vertical-align: middle }
.h-logo h1 { width: 200px }
.h-logo .txt {
	margin-left: 10px;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.h-logo .txt span { display: block }
header.smaller .h-logo { transform-origin: left top; transform: scale(0.7) translateY(-15px) }
header.smaller .h-logo .txt {
	opacity: 0;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.header-main {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #E1489A;
	padding: 20px;
	border-radius: 0 0 0 20px;
	transform-origin: right top;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.header-main .menu-01 li { display: inline-block; margin-right: 15px; vertical-align: middle }
.header-main .menu-01 li:last-child { margin-right: 0 }
.header-main .menu-01 a { color: #fff; position: relative; display: block }
.header-main .menu-01 a:hover { opacity: 1 }
.header-main .menu-01 a:visited { color: #fff }
.header-main .menu-01 li.contact a:visited { #E1489A }
.header-main .menu-01 a:after {
	content: " ";
	position: relative;
	border-bottom: 1px solid #fff;
	width: 100%;
	transform-origin: center center;
	transform: scaleX(0);
	display: block;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.header-main .menu-01 li.contact a { padding: 8px 20px; border-radius: 50px; background-color: #fff; color: #E1489A; font-size: 16px }
.header-main .menu-01 li.contact a { line-height: 20px }
.header-main .menu-01 li.contact a:after { border-bottom: 1px solid #E1489A; }
.header-main .menu-01 a:hover:after {
	transform-origin: center center;
	transform: scaleX(1);
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
header.smaller .header-main {
	transform: scale(0.9);
	transform-origin: right top;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
/*************************************
* footer
*************************************/
footer { text-align: center; padding-bottom: 500px; margin-top: 300px }
.contact-area .tel { font-size: 45px; line-height: 50px }
.f-info { margin-top: 6rem; }
.f-logo { width: 120px; display: inline-block }
.f-ttl { font-weight: 700; margin-top: 2rem; font-size: 22px; }
.f-info .add { margin-top: 0.5rem }
.f-link-area { margin-top: 3rem }
.f-link-area li { display: inline-block; margin: 0 15px }
.f-link-area li a { text-decoration: underline; display: block; }
footer small { margin-top: 3rem; display: inline-block }
/*************************************
* home
*************************************/
/*メインビジュアル*/
#home-00 { margin-top: 140px !important}
.slide-txtarea { margin-top: -70px; display: flex; justify-content: space-between; }
.slide-txtarea .message { width: 50%; }
.slide-txtarea .news { width: 45%; transition-delay: 0.3s; }
.h2-slide.en { font-size: 100px; line-height: 100px; margin-bottom: 2rem }
.h2-slide.jp { font-size: 28px; margin-bottom: 1.5rem }
.h3-slide { font-size: 22px; margin-bottom: 1rem }
.slide-txtarea p { font-size: 16px; }
.home-news-ttl { background-color: #fff; padding: 5px 20px 0 20px; border-radius: 20px 20px 0 0; display: inline-block; box-shadow: 5px 5px 5px rgba(0,0,0,0.3) }
.home-news-ttl a { display: block; }
.home-news-ttl span { vertical-align: middle }
.home-news-ttl .en { font-size: 35px; }
.home-news-ttl .jp { font-size: 18px; margin-left: 15px }
.home-news-list { min-height: 58px; background-color: #fff; padding: 20px; border-radius: 0 20px 20px 20px; display: block; box-shadow: 5px 5px 5px rgba(0,0,0,0.3); position: relative; z-index: 2 }
.home-news-list .news-detail { display: flex !important; align-items: flex-start; flex-wrap: wrap; }
.home-news-list .nopost { margin: 13px 0; }
.news-detail { font-size: 0; }
.news-detail .date { flex-shrink: 0; width: 91px; font-size: 16px; padding-right: 8px; display: inline-block; font-size: 1rem; vertical-align: middle }
.news-detail .cat-list { display: flex; flex-wrap: wrap; max-width: calc(100% - 99px); margin: 4px -6px -4px 0; }
.news-detail .cat-item { display: flex; max-width: 100%; margin: 0 6px 4px 0; }
.news-detail .cat { font-size: 16px; line-height: 25px; padding: 0 20px; color: #fff; background-color: #E1489A; border-radius: 50px; display: inline-block; font-size: 1rem; vertical-align: middle; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.news-detail .ttl { display: block; width: 100%; font-size: 16px; font-weight: 500; line-height: 26px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
/*ごあいさつ*/
#home-01 { position: relative }
.home-01-detail { width: 40%; margin-left: auto }
.home-01-detail p { text-align: justify }
.home-01-detail p.name { text-align: right }
.home-01-detail p.name span { margin-right: 10px }
.home-01-img {
	position: absolute;
	width: 70%;
	height: calc(100% - 8rem);
	left: -20%;
	top: 0;
	background-image: url(/img/home/01-01.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0 30px 30px 0;
}
/*主な取扱商品*/
.insurance-area { display: flex; justify-content: space-between }
.insurance-detail { display: flex; flex-flow: column; width: 31% }
.insurance-detail .img { width: 100%; margin-bottom: 1rem }
.insurance-detail .img img { border-radius: 20px }
.insurance-detail .txt { width: 100%; flex-grow: 1; display: flex; flex-flow: column; }
.insurance-detail .btn-area { margin-top: auto; }
.insurance-detail:nth-child(2) { transition-delay: 0.2s; }
.insurance-detail:nth-child(3) { transition-delay: 0.4s; }
.insurance-others { margin-top: 4rem; text-align: center }
.others-btn-area a { display: inline-block; margin: 10px }
.others-btn-area a img { height: 160px !important; width: auto }
.insurance-btn { background-color: #fff; font-size: 16px; display: block; padding: 5px; border: 1px solid #E1489A; text-align: center; margin-top: 1rem; border-radius: 50px }
.insurance-btn img { width: 100px }
.insurance-btn * { vertical-align: middle }
/*6つの安心*/
.points6-area { display: flex; flex-wrap: wrap; justify-content: space-between }
.points6-detail { display: flex; justify-content: space-between; width: 48%; margin-bottom: 3rem }
.points6-detail .img { width: 30%; }
.points6-detail .txt { width: 65%; }
.points6-detail .txt p { text-align: justify }
/*************************************
* 会社情報
*************************************/
/*経営理念*/
#company-01 { text-align: center }
.philosophy-area { display: flex; justify-content: space-between; align-items: flex-start }
.philosophy-detail { width: 30%; }
.philosophy-detail .point { width: 280px; height: 280px; border-radius: 50%; margin: 0 auto 1rem auto; }
.philosophy-detail:nth-child(1) .point { background-color: #D2F4FC }
.philosophy-detail:nth-child(2) .point { background-color: #D2FCE2 }
.philosophy-detail:nth-child(3) .point { background-color: #FFEECB }
.philosophy-detail .point .en { font-size: 80px; line-height: 90px; padding-top: 52px; }
.philosophy-detail .point h3 { font-size: 40px; line-height: 50px; }
.philosophy-detail:nth-child(2) { transition-delay: 0.2s; }
.philosophy-detail:nth-child(3) { transition-delay: 0.4s; }
.philosophy-message { background-color: #F7F7F7; font-size: 25px; line-height: 40px; padding: 40px; margin-top: 3rem }
/*会社情報*/
#company-02 table { max-width: 800px; margin: auto }
.gmap iframe { width: 100%; height: 500px; margin-top: 80px }
/*沿革*/
#company-03 table { max-width: 800px; margin: auto }
#company-03 table tbody tr > * { vertical-align: top }
/*FD/KPI*/
.kpi-detail { margin-bottom: 3rem; }
.kpi-detail:last-child { margin-bottom: 0; }
/*************************************
* 個人情報保護方針
*************************************/
.privacy-detail { margin-bottom: 3rem }
.privacy-detail:last-child { margin-bottom: 0 }
/*************************************
* CMS共通
*************************************/
/*カテゴリー*/
.cat-seelect-area .content-inner {
	text-align: center;
	padding: 2rem 10px;
	border-top: 2px solid #E1489A;
	border-bottom: 2px solid #E1489A;
	margin-top: 4rem
}
.cat-seelect-area li { display: inline-block; margin: 0 10px }
.cat-seelect-area li a { text-decoration: underline; display: block; padding: 5px; }
.cat-seelect-area li.active a { color: #E1489A; }
.cat-seelect-area li a:hover { opacity: 1; color: #E1489A; }
/*リスト　ページネーション*/
.pagenation { text-align: center; margin-top: 4rem }
.pagenation > * { font-size: 30px; display: inline-block; margin: 10px; padding: 5px; }
.pagenation a { color: #E1489A; text-decoration: underline }
/*リスト*/
.page-news-list .news-detail {
	display: flex;
	align-items: flex-start;
	background-color: #fff;
	box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
	padding: 20px 60px;
	border-radius: 100px;
	margin-bottom: 20px;
}
.page-news-list .news-detail .cat-list { max-width: 126px; }
.page-news-list .news-detail .ttl { display: inline-block; vertical-align: middle; margin: 3px 0 3px 15px; }
/*詳細*/
section#news-detail-01 .content-inner { max-width: 800px; }
.news-detail-area .date { display: block; }
.news-detail-area .cat-list { display: flex; flex-wrap: wrap; max-width: 100%; margin: 6px -8px -4px 0; }
.news-detail-area .cat-item { display: flex; max-width: 100%; margin: 0 8px 4px 0; }
.news-detail-area .cat { font-size: 18px; line-height: 28px; padding: 0 20px; color: #fff; background-color: #E1489A; border-radius: 50px; display: inline-block; font-size: 1rem; vertical-align: middle; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.h1-news { font-size: 25px; line-height: 35px; margin-top: 1rem; border-bottom: 2px solid #E1489A; padding-bottom: 1rem }
.textarea { padding: 2rem 0 2rem 0; border-bottom: 2px solid #E1489A; }
.textarea p + p { margin-top: 2em; }
.textarea p:has(img) { margin-bottom: 2em; }
.textarea a { color: #E1489A; text-decoration: underline; }
.textarea .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.textarea .alignleft { display: block; margin-right: auto; }
.textarea .alignright { display: block; margin-left: auto; }
.textarea img { max-width: 100%; height: auto; padding: 1rem 0 }
.textarea iframe { max-width: 100%; height: auto; padding: 1rem 0 }
.pagenation-detail { text-align: center; margin-top: 2rem }
.pagenation-detail > * { display: inline-block; margin: 0 10px; }
.pagenation-detail .btn.hidden { opacity: 0; pointer-events: non; }
.pagenation-detail a { font-size: 25px; line-height: 30px; color: #E1489A; padding: 5px; }
.pagenation-detail a:visited { color: #E1489A }





}




































@media screen and (max-width: 1120px) {
/*************************************
* 共通
*************************************/
body { font-size: 15px; line-height: 25px; }
main { display: block; }
.small { font-size: 9px; line-height: 12px; }
.comment { color: #3475D0; font-size: 14px; line-height: 28px; padding: 10px; border: solid 1px #3475D0; margin-top: 20px }
.comment p { text-align: center }
.gmap iframe { width: 100%; height: 400px }
.area-c-sp { text-align: center }
.color-a { color: #E1499B }
/*デザインによって数値を設定*/
.content-inner { width: 90%; margin: auto; padding: 0; max-width: 500px; height: 100%; position: relative; z-index: 1; }
.detail-inner { margin: auto; padding: 0; width: 95%; height: 100%; }
section,article { margin-top: 80px;  display: block; }
body#home section,body#home article { margin-top: 130px;  display: block; }
/*電話番号タグに追加（PCのときはリンクボタン機能なし）*/
.tel {  }
/*SPのみ非表示*/
.dsp-no-sp { display: none !important; }
/*ぱんくず*/
#breadcrumbs {
	text-align: right;
	font-size: 10px;
	line-height: 16px;
	padding-top: 10px;
	color: #555
}
#breadcrumbs .content-inner * { display: inline-block; } 
#breadcrumbs ul li { display: contents; position: relative; }
#breadcrumbs ul li + li::before { content: "/"; display: inline-block; margin-right: 3px; }
#breadcrumbs a, #breadcrumbs a:visited { color: #555 }
/*************************************
* ローディング　PC
*************************************/
.loader-animation { width: 100% }
.loader-animation p {
	display: inline-block;
	margin: 10px;
	animation-name: fadein-load;
	animation-duration: 0.5s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	opacity: 0;
	transform: translateX(20px);
	animation-timing-function: ease-in-out
}
.loader-animation p img { height: 60px; width: auto; }
/*************************************
* 見出し
*************************************/
.page-h1-area { margin-top: 57px; }
.h1-01 { text-align: center; background-color: #FFF0FB; padding: 40px 0 }
.h1-01 * { display: block }
.h1-01 .en { font-size: 45px; line-height: 50px; }
.h1-01 .jp { font-size: 25px; line-height: 40px; font-weight: 700; margin-top: 5px }

.h2-01-area { padding: 15px 0 0 0; margin-bottom: 1.5rem; position: relative }
.h2-01-area:after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(/img/parts/h2-border.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100px auto;
	width: 100px;
	height: 10px
}
.h2-01-area.center { text-align: center }
.h2-01-area.center:after { left: 50%; transform: translateX(-50%) }
.h2-01-area span { display: block }
.h2-01-area .en { font-size: 40px; line-height: 50px; }
.h2-01-area .jp { font-size: 20px; line-height: 25px; margin-top: 5px }
.h3-01 { font-size: 20px; line-height: 30px; margin-bottom: 0.5rem }
.h3-02 { margin-bottom: 1rem; text-align: center }
.h3-02 .en { font-size: 35px; line-height: 40px; }
.h3-02 .jp { font-size: 18px; line-height: 25px; margin-left: 10px }
.h3-03 { font-size: 20px; line-height: 30px; padding-bottom: 15px; margin-bottom: 1.5rem; border-bottom: 2px solid #E1499B }
.h4-01 { font-size: 18px; line-height: 28px; margin-bottom: 0.5rem }
/*************************************
* テーブル
*************************************/
table.table-01 { width: 100%; }
table.table-01 tr { border-bottom: 1px solid #ddd; }
table.table-01 tr:first-child { border-top: 1px solid #ddd }
table.table-01 th { width: 30%; padding: 15px 8px 15px 15px; }
table.table-01 td { background-color: #fff; padding: 15px; }
table.table-01 td .small { font-size: 10px; margin-left: 5px; }
/*************************************
* リスト
*************************************/
ul.list-01, ul.list-01 li { list-style: none; } 
ul.list-01 li { padding-left: 1.2em; text-indent: -1.2em; }
ul.list-01 li:before {
	font-family: 'Font Awesome 5 Free';
	content: '\f111';
	color: #E14869;
	margin-right: 0.3em;
	font-weight: bold;
}
/*************************************
* header
*************************************/
.h-logo {
	display: inline-block;
	transform-origin: left top;
}
.h-logo > * { display: inline-block; vertical-align: middle }
.h-logo h1 { width: 90px }
.h-logo .txt {
	margin-left: 10px;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.h-logo .txt span { display: block }
header.smaller .h-logo { transform-origin: left top; transform: scale(0.9) }
header.smaller .h-logo .txt {
	opacity: 0;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
/*グロナビ*/
.global-navi {
	transform: scale(0,0);
	transform-origin: right top;
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	right: 0;
	z-index: 1000;
	background-color: rgba(255,72,154,0.9);
	text-align: center;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
    margin: 0 auto 5rem auto;
    overflow-y:scroll;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    opacity: 0
}
/* .global-naviに.activeが追加 */
.global-navi.active {
	transform: scale(1,1);
	transform-origin: right top;
	opacity: 1;
	-webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -ms-transition: all .5s ease-out;
    transition: all .5s ease-out;
    box-shadow: -1px 0px 7px rgba(0,0,0,0.4);
}
.global-navi .menu-01 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 100%
}
.global-navi .menu-01 a,.global-navi .menu-01 a:visited { color: #fff; padding: 5px; display: inline-block; font-size: 16px; font-weight: 700 }
.global-navi .menu-01 li { margin: 8px }
/*バーガーメニュー*/
#side-bar-menu {
	position: fixed;
	right: 15px;
	top: 14px;
	z-index: 3000;
	width: 40px;
	height: 30px;
}
.nav-toggle {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 1700;
	-webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
#header-top.smaller .nav-toggle {
	height: 30px;
	-webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.nav-toggle span {
	display: block;
	position: absolute; /* .toggleに対して */
	border-bottom: solid 1px #E1489A;
	-webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.nav-toggle span:nth-child(1) { top: 0; width: 40px }
.nav-toggle span:nth-child(2) { top: 13px; width: 40px }
.nav-toggle span:nth-child(3) { top: 26px; width: 40px }
/***** クリック後のボタン *****/
/* 最初のspanをマイナス45度にする */
.nav-toggle.active span:nth-child(1) {
	top: 13px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	border-bottom: solid 1px #fff;
	opacity: 1;
}
/* 2番目と3番目のspanを45度にする */
.nav-toggle.active span:nth-child(2),
.nav-toggle.active span:nth-child(3) {
	top: 13px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	border-bottom: solid 1px #fff;
	opacity: 1;
	width: 40px
}
#header-top {
	background-color: rgba(255,255,255,0);
	width: 100%;
	padding: 10px 10px;
	box-sizing: border-box;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	-webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
#header-top.smaller {
	background-color: rgba(255,255,255,0.9);
	-webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
/*************************************
* footer
*************************************/
footer { text-align: center; padding-bottom: 300px; margin-top: 80px }
.contact-area .tel { font-size: 30px; line-height: 40px }
.f-info { margin-top: 6rem; }
.f-logo { width: 120px; display: inline-block }
.f-ttl { font-weight: 700; margin-top: 2rem; font-size: 22px; }
.f-info .add { margin-top: 0.5rem }
.f-link-area { margin-top: 3rem }
.f-link-area li { display: inline-block; margin: 0 5px; }
.f-link-area li a { text-decoration: underline; display: block; font-size: 14px; }
footer small { margin-top: 3rem; display: inline-block }
/*************************************
* home
*************************************/
/*メインビジュアル*/
#home-00 { margin-top: 58px !important}
.slide-txtarea { margin-top: -40px; }
.slide-txtarea .message {  }
.slide-txtarea .news { margin-top: 2rem; transition-delay: 0.3s; }
.h2-slide.en { font-size: 70px; line-height: 70px; margin-bottom: 1rem }
.h2-slide.jp { font-size: 22px; line-height: 35px; margin-bottom: 1rem }
.h3-slide { font-size: 18px; margin-bottom: 1rem }
.slide-txtarea p { font-size: 14px; line-height: 22px; text-align: justify }
.home-news-ttl { background-color: #fff; padding: 5px 20px 0 20px; border-radius: 15px 15px 0 0; display: inline-block; box-shadow: 3px 3px 5px rgba(0,0,0,0.3) }
.home-news-ttl a { display: block; }
.home-news-ttl span { vertical-align: middle }
.home-news-ttl .en { font-size: 35px; }
.home-news-ttl .jp { font-size: 18px; margin-left: 15px }
.home-news-list { min-height: 51px; background-color: #fff; padding: 20px; border-radius: 0 15px 15px 15px; display: block; box-shadow: 3px 3px 5px rgba(0,0,0,0.3); position: relative; z-index: 2 }
.home-news-list .news-detail { display: flex !important; align-items: flex-start; flex-wrap: wrap; }
.home-news-list .nopost { margin: 14px 0; }
.news-detail { font-size: 0; }
.news-detail .date { flex-shrink: 0; width: 91px; font-size: 14px; padding-right: 8px; display: inline-block; font-size: 1rem; vertical-align: middle }
.news-detail .cat-list { display: flex; flex-wrap: wrap; max-width: calc(100% - 99px); margin: 1px -6px -4px 0; }
.news-detail .cat-item { display: flex; max-width: 100%; margin: 0 6px 4px 0; }
.news-detail .cat { font-size: 14px; line-height: 22px; padding: 0 20px; color: #fff; background-color: #E1489A; border-radius: 50px; display: inline-block; font-size: 1rem; vertical-align: middle; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.news-detail .ttl { display: block; width: 100%; font-size: 16px; font-weight: 500; line-height: 26px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
/*ごあいさつ*/
#home-01 { position: relative }
.home-01-detail {  }
.home-01-detail p { text-align: justify }
.home-01-detail p.name { text-align: right }
.home-01-detail p.name span { margin-right: 10px }
.home-01-img {
	width: 100%;
	height: 200px;
	background-image: url(../img/home/01-01.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: 2rem
}
/*主な取扱商品*/
.insurance-area {  }
.insurance-detail { margin-bottom: 2rem }
.insurance-detail:last-child { margin-bottom: 0 }
.insurance-detail .img { margin-bottom: 1rem }
.insurance-detail .img img { border-radius: 10px }
.insurance-others { margin-top: 4rem; text-align: center }
.others-btn-area a { display: inline-block; margin: 10px }
.others-btn-area a img { height: 80px !important; width: auto }
.insurance-btn { background-color: #fff; font-size: 16px; display: block; padding: 5px; border: 1px solid #E1489A; text-align: center; margin-top: 1rem; border-radius: 50px }
.insurance-btn img { width: 100px }
.insurance-btn * { vertical-align: middle }
/*6つの安心*/
.points6-area {  }
.points6-detail { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #ddd; display: flex; justify-content: space-between }
.points6-detail:first-child { border-top: 1px solid #ddd; padding-top: 1rem }
.points6-detail .img { width: 30%; }
.points6-detail .txt { width: 65%; }
.points6-detail .txt p { text-align: justify }
/*************************************
* 会社情報
*************************************/
/*経営理念*/
#company-01 { text-align: center }
.philosophy-area {  }
.philosophy-detail { margin-bottom: 1.5rem }
.philosophy-detail .point { width: 180px; height: 180px; border-radius: 50%; margin: 0 auto 1rem auto; }
.philosophy-detail:nth-child(1) .point { background-color: #D2F4FC }
.philosophy-detail:nth-child(2) .point { background-color: #D2FCE2 }
.philosophy-detail:nth-child(3) .point { background-color: #FFEECB }
.philosophy-detail .point .en { font-size: 60px; line-height: 70px; padding-top: 30px; }
.philosophy-detail .point h3 { font-size: 25px; line-height: 35px;  }
.philosophy-message { background-color: #F7F7F7; font-size: 18px; line-height: 28px; padding: 30px; }
/*会社情報*/
#company-02 table { max-width: 800px; margin: auto }
.gmap iframe { width: 100%; height: 300px; margin-top: 40px }
/*沿革*/
#company-03 table { max-width: 800px; margin: auto }
#company-03 table tbody tr > * { vertical-align: top }
/*FD/KPI*/
.kpi-detail { margin-bottom: 3rem; }
.kpi-detail:last-child { margin-bottom: 0; }
.kpi-detail p { text-align: justify }
/*************************************
* 個人情報保護方針
*************************************/
.privacy-detail { margin-bottom: 3rem }
.privacy-detail:last-child { margin-bottom: 0 }
.privacy-detail p { text-align: justify }
/*************************************
* CMS共通
*************************************/
/*カテゴリー*/
.cat-seelect-area .content-inner {
	text-align: center;
	padding: 1rem 10px;
	border-top: 1px solid #E1489A;
	border-bottom: 1px solid #E1489A;
	margin-top: 2rem
}
.cat-seelect-area li { display: inline-block; margin: 0 10px }
.cat-seelect-area li a { text-decoration: underline; display: block; padding: 5px; }
.cat-seelect-area li.active a { color: #E1489A; }
/*リスト　ページネーション*/
.pagenation { text-align: center; margin-top: 1.5rem }
.pagenation > * { font-size: 20px; display: inline-block; margin: 10px; padding: 5px; }
.pagenation a { color: #E1489A; text-decoration: underline }
/*リスト*/
.page-news-list .news-detail {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	background-color: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
	padding: 20px;
	border-radius: 20px;
	margin-bottom: 20px;
}
.page-news-list .news-detail .cat { font-size: 14px }
.page-news-list .news-detail .ttl { display: inline-block; vertical-align: middle; margin-top: 0.05rem; }
/*詳細*/
section#news-detail-01 .content-inner {  }
.news-detail-area .date { display: block; }
.news-detail-area .cat-list { display: flex; flex-wrap: wrap; max-width: 100%; margin: 2px -6px -4px 0; }
.news-detail-area .cat-item { display: flex; max-width: 100%; margin: 0 6px 4px 0; }
.news-detail-area .cat { font-size: 14px; line-height: 20px; padding: 3px 20px; color: #fff; background-color: #E1489A; border-radius: 50px; display: inline-block; font-size: 1rem; vertical-align: middle; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.h1-news { font-size: 22px; line-height: 32px; margin-top: 1rem; border-bottom: 2px solid #E1489A; padding-bottom: 1rem }
.textarea { padding: 2rem 0 2rem 0; border-bottom: 2px solid #E1489A; }
.textarea p + p { margin-top: 2em; }
.textarea p:has(img) { margin-bottom: 2em; }
.textarea a { color: #E1489A; text-decoration: underline; }
.textarea .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.textarea .alignleft { display: block; margin-right: auto; }
.textarea .alignright { display: block; margin-left: auto; }
.textarea img { max-width: 100%; height: auto; padding: 1rem 0 }
.textarea iframe { max-width: 100%; height: auto; padding: 1rem 0 }
.pagenation-detail { text-align: center; margin-top: 2rem }
.pagenation-detail > * { display: inline-block; margin: 0 10px; }
.pagenation-detail .btn.hidden { opacity: 0; pointer-events: non; }
.pagenation-detail a { font-size: 25px; line-height: 30px; color: #E1489A; padding: 5px; }
.pagenation-detail a:visited { color: #E1489A }





















}




@media only screen and (max-width: 650px){

table.table-01 tr { border-bottom: none }
table.table-01 tr:first-child { border-top: none }
table.table-01 th { display: block; background-color: #FFF0FB; padding: 5px; font-weight: 700; width: 100%; box-sizing: border-box }
table.table-01 td { display: block; background-color: #fff; padding: 10px }





}





@media only screen and (max-width: 500px){







}


@media only screen and (max-width: 374px){







}