@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
html, body {
	line-height: 1.4;
	font-size: 16px;
	padding: 0;
	margin: 0
}
body{
  font-size: 1rem;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  color: #262626;
  position: relative
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}
/* ==========================================================================
   Commons styles
   ========================================================================== */
a{text-decoration: none; color: inherit}
a:focus, *:focus { outline:none;}
a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
}
img{border: 0px;}
dd{margin: 0}
p,h1,h2,h3,h4,h5{margin: 0;padding: 0}
figure{margin: 0;padding: 0}
ul,li,dl{margin: 0;padding: 0;list-style: none}
.b{font-weight: bold}
.fw_n{font-weight: normal}
.tx_und{text-decoration: underline}
.tx_cent{text-align: center}
.tx_right{text-align: right}
.tx_left{text-align: left}
.disp_blk{display: block}
.marker_tp_1 {background:rgba(0, 0, 0, 0) linear-gradient(transparent 50%, #ffff00 0%) repeat scroll 0 0; }
.fc_l_blue{color: #21ade5!important}
.fc_d_blue{color: #364d96!important}
.fc_blue{color: #0073bd!important}
.fc_wht{color: #ffffff!important}
.fs_80 { font-size: 80%;}
.fs_90 { font-size: 90%;}
.fs_120 { font-size: 120%;}
.ff_yugo {font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}
.ff_noto {font-family: 'Noto Sans JP', sans-serif;}
.ff_futura {font-family: "futura-pt", sans-serif;}
.ls_35 {
	letter-spacing: .035em
}
.ls_5 {
	letter-spacing: .05em
}
.fw_500 {
	font-weight: 500
}
.fw_600 {
	font-weight: 600
}
.lh_1_6 {
	line-height: 1.6
}
.lh_1_8 {
	line-height: 1.8
}

.tx_sdw_1{
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;	
}
.bsc_tx_14 {
	font-size: 14px;	
}
.bsc_tx_15 {
	font-size: clamp(14px, 0.78vw, 15px);	
}
.bsc_tx_16 {
	font-size: clamp(14px, 0.833vw, 16px);	
}
.bsc_tx_18 {
	font-size: clamp(15px, 0.93vw, 18px);	
}
.bsc_tx_20 {
	font-size: clamp(16px, 1.04vw, 20px);	
}
.bsc_tx_22 {
	font-size: clamp(17px, 1.14vw, 22px);
}
.bsc_tx_24 {
	font-size: clamp(17px, 1.25vw, 24px);
}
.bsc_tx_25 {
	font-size: clamp(18px, 1.3vw, 25px);
}
.bsc_tx_28 {
	font-size: clamp(20px, 1.4583vw, 28px);
}
.bsc_tx_32 {
	font-size: clamp(22px, 1.66vw, 32px);	
}
.bsc_tx_36 {
	font-size: clamp(22px, 1.84vw, 36px);	
}
.bx_sdw_1{box-shadow:1px 1px 3px 1px #f2f2f2;}
.vert_txt {
	font-size: clamp(16px, 1.25vw, 24px);
	font-weight: 600;
	letter-spacing: .085em;
	line-height: 2;	
  	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
}

.flex_wrapper{
　　display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.flex-wrap_par{
	flex-wrap: wrap;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;	
	display: flex;		
}
.flex-rev{
	flex-flow: row-reverse;
}
.block_link{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
	z-index: 999
}

.hover:hover{
  opacity: 1;
  -webkit-animation: flash 1s;
  animation: flash 1.5s;
	transition-property: all;
  	transition: 0.15s linear;	
}
@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
.updown{
  animation-name:UpDown;
  animation-duration: 0.75s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate;
}
@keyframes UpDown{
  0%{
  transform: translateY(0);
  }
  100%{
  transform: translateY(36px);
  }
}
@media screen and (min-width:767px){
.hover_0{
	transition-property: all;
  	transition: 0.15s linear;
}
.hover_0:hover{
	opacity: 0.5;
}
.hover_1{
	transition-property: all;
  	transition: 0.2s linear;
}
.hover_1:hover{
	opacity: 0.8;
}
}
.pc{display: block}
.rp{display: none!important}
.sp{display: none!important}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.max_img{
	max-width: 100%;
	height: auto;
	display: block;
}
.img_w100{width: 100%; height: auto}
.img_w50{width: 50%; height: auto}
.img_w40{width: 40%; height: auto}
.img_w30{width: 30%; height: auto}
.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
	}
.alignright {
	padding: 4px;
	margin: 0 0 2px 10px;
	display: inline;
	}
.alignleft {
	padding: 4px;
	margin: 0 10px 2px 0;
	display: inline;
	}
.alignright {
	float: right;
	}
.alignleft {
	float: left;
	}
.clear{clear: both}
/*-------------------------------------
ラッパー
--------------------------------------*/
.wrap_800 {
	max-width: 800px;
	margin: 0 auto;
}
.wrap_1200 {
	max-width: 1200px;
	margin: 0 auto;
}
.wrap_lg_per {
	padding-right: 6.2%;
	padding-left: 6.2%;
}

/*-------------------------------------
背景色
--------------------------------------*/
.bg_type_glay {
	background-color: #f1f6f8
}
.bg_type_wht {
	background-color: #ffffff
}
.bg_type_ozu {
	background: url("../img/bg_type_ozu.jpg")
}
/*-------------------------------------
リスト
--------------------------------------*/
.list_type_1  {
	display: flex;
}
.list_type_1 .cel {
	line-height: 1.8;
	font-weight: 500;
}
.list_type_1 dt {
	width: 1em
}
.list_type_1 dd {
	width: calc(100% - 1em)
}
.list_type_2  {
	display: flex;
	align-items: center;
	margin-bottom: 8px
}
.list_type_2:last-of-type  {
	margin-bottom: 0
}
.list_type_2 .cel {
	line-height: 1.8;
	font-weight: 500;
}
.list_type_2 dt {
	padding-top: .15em;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background: #50beeb;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center;
	color: #FFF
}
.list_type_2 dd {
	width: calc(100% - 30px);
	padding-left: 1%
}


/*-------------------------------------
ボックス
--------------------------------------*/

/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 {
	text-align: center;
}
.h_type_1 img{
	display: block;
	width: min(7.29vw, 140px);
	height: auto;
	margin: 0 auto
}
.h_type_1 h2{
	margin: 10px auto 0;
	font-size: clamp(30px, 2.23vw, 43px);
	font-weight: 500;
	letter-spacing: .065em;
}
.h_type_1 p{
	font-weight: 500;
	letter-spacing: .065em;
}
.h_type_2{
	font-size: clamp(22px, 2.23vw, 43px);
	font-weight: 500;
	text-align: center;
	letter-spacing: .07em;
}
.h_type_2.s_ft{
	font-size: 24px;
}
.h_type_2 span{
	position: relative;
	display: inline-block;
	padding-bottom: 8px;	
}
.h_type_2 span::after{
	content: "";
	position: absolute;
	bottom:0;
	left: -5%;
	right: 0;
	width: 110%;
	height: 6px;
	margin: auto;
	background-color: #50beeb;
	border-radius: 6px
}

/*-------------------------------------
罫線
--------------------------------------*/
.bd_type_1 {
}
/*-------------------------------------
form_restart
--------------------------------------*/
.form_area input[type='text'],
.form_area input[type='tel'],
.form_area input[type='email'],
.form_area input[type='submit'],
.form_area input[type='button'],
.form_area button,
.form_area select,
.form_area textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

/*-------------------------------------
ボタン
--------------------------------------*/
.btn_type_1 {
	text-align: center
}
.btn_type_1 .inn,
.form_area input[type='submit']{
	position: relative;		
	display: inline-block;
	line-height: 1;
	padding: min(1.66vw, 32px) min(2.6vw, 50px);
	border-radius: 60px;
	font-size: clamp(16px, 1.35vw, 26px);
	font-weight: 400;
	text-align: center;
	letter-spacing: .035em;
	border: 3px solid #21ade5;
	white-space: nowrap;
	transition-property: all;
  	transition: 0.3s linear;			
}
.btn_type_1 .inn p {
	display: flex;
	align-items: center
}
.btn_type_1 .inn:hover {
	background: #FFF;
	color: #262626
}
.btn_type_1 .inn:hover svg {
	fill: #262626
}

.btn_type_1.wht .inn {
	border: 3px solid #FFF
}
.btn_type_1.l_blue .inn {
	border: 3px solid #21ade5
}
.btn_type_1.l_blue .inn:hover {
	background: #21ade5;
	color: #fff
}
.btn_type_1.l_blue .inn svg {
	fill: #21ade5
}
.btn_type_1.l_blue .inn:hover svg {
	fill: #FFF
}

.form_area input[type='submit'] {
	display: block;
	width: 35%;
	margin: 0 auto;
	color: #FFF;
	border: 3px solid #21ade5;
	background: #21ade5
}
.form_area input[type='submit']:hover {
	background: none;
	color: #262626
}
.btn_type_1.blue .inn svg {
	fill: #FFF
}
.btn_type_1.blue .inn:hover svg {
	fill: #21ade5
}

/*-------------------------------------
余白
--------------------------------------*/
.sec_pad_1{
	padding: 84px 0;
	padding: 4.37vw 0;
}
.sec_pad_1_t{
	padding-top: 4.37vw;
}
.sec_pad_1_b{
	padding-bottom: 4.37vw;
}
.sec_pad_2{
	padding: 70px 0;
	padding: 3.64vw 0;
}
.sec_pad_2_t{
	padding-top: 3.64vw
}
.sec_pad_2_b{
	padding-bottom: 3.64vw
}

.mgn_t_5 {
	margin-top: 5px
}
.mgn_t_10 {
	margin-top: min(0.5208333333333333vw, 10px)
}
.mgn_t_20 {
	margin-top: min(1.0416666666666665vw, 20px)
}
.mgn_t_30 {
	margin-top: min(1.5625vw, 30px)
}
.mgn_t_40 {
	margin-top: min(2.08333333vw, 40px)
}
.mgn_t_50 {
	margin-top: min(2.6041vw, 50px)
}
.mgn_t_60 {
	margin-top: min(3.125vw, 60px)
}
.mgn_t_70 {
	margin-top: min(3.645vw, 70px)
}
.mgn_t_80 {
	margin-top: min(4.166vw, 80px)
}
/**/
.no_link{
	pointer-events: none;
	cursor: default;
	text-decoration:none;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header.general {
	width: 100%;
	padding: 34px 0 0;
	position: fixed;
	top: 0;
	left: 0;
    z-index: 1040;
	transition-property: all;
  	transition: 0.3s linear;	
}	
header.general.h_rock {
	padding: 20px 0;	
	background-color: #fff	
}	
header.general .inn {
	align-items: center;
	justify-content: space-between
}	
header.general h1.logo {
	width: min(16.35vw, 314px)
}	
header.general h1.logo img{
	display: block;
	width: 100%;
	height: auto
}
header.general nav ul {
    align-items: stretch;
}
header.general nav ul li {
	margin-right: min(1.71vw, 33px);
	display: flex;
	align-items: center;
}
header.general nav ul li:last-child {
	margin-right: 0;
}
header.general nav ul li a{
	letter-spacing: .035em;
	position: relative;
	font-weight: 500
}
header.general nav ul li a::before {
  position: absolute;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
header.general nav ul li a::before {
  bottom: -8px;
  display: block;
  height: 3px;
  width: 0%;
  content: "";
  background-color: #21ade5;
}
@media screen and (min-width:767px){
header.general nav ul li:not(:last-child):hover a:before,
header.general nav ul li.current a:before {
  opacity: 1;
  width: 100%;
}
}	
header.general nav ul li:last-child a {
	padding: min(1.19vw, 23px) min(2.39vw, 46px);
	background: #21ade5;
	border-radius: 31px;
	color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	white-space: nowrap;		
}
header.general nav ul li:last-child a span {
	display: inline-block
}
.ico_arrw_1 {
	position: relative;
	left: 6%;
	display: block;
	fill:#FFFFFF;
	width: 18px;
	height: 14px;
}
.fv {
	position: relative;
	z-index: 100
}
.fv .slider .slick-slide img{
	display: block;
	width: 100%;
	height: auto
}
.in_wrap {
	width: 100%;
	height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center
}
.fv .in_wrap {
	width: 100%;
	height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9998;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center
}
.mark p span {
	padding: 5px 5px 3px;	
	display: inline-block;
	color: #FFF;
	background: #2b4390;
	line-height: 1.2;	
}
.fv .in_wrap .mark p span {
	padding: 5px 5px 3px;
	font-size: clamp(28px, 2.03vw, 39px);
	font-weight: 500;
	text-align: center;
	letter-spacing: .035em;
}
.leade_top .bx {
	width: 50%;
}
.leade_top header {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;	
	background: url("../img/leade_top_hd_bg.jpg") no-repeat center / cover
}
.leade_top header .in_logo {
	width: min(15.78vw, 303px)
}
.leade_top header .btn_type_1 {
	width: 100%;
	margin-top: min(4.42vw, 85px)
}
.leade_top header .btn_type_1 .inn {
	padding-right: min(5vw, 96px);
	padding-left: min(5vw, 96px);	
}

.leade_top .tx {
	padding: min(10.57vw, 203px) 0;
}
.leade_top .tx p {
	width: 82%;	
	margin: 0 auto;	
	line-height: 1.8
}
.pdt_top .h_type_1 {
	margin-bottom: min(2.86vw, 55px);
}
.pdt_bxs {
	justify-content: space-between
}
.pdt_bxs .bx {
	width: 31%;
	position: relative
}
.hover-zoom {
  overflow: hidden;
  display: block;
}
.hover-zoom > .zoom {
  display: block;
  width: 100%;
  height: auto;
  transition: all, 0.5s;
}
@media screen and (min-width:767px){
.hover-zoom:hover > .zoom {
  transform: scale(1.2);
}
}
.pdt_bxs .bx p {
	font-size: clamp(22px, 2.23vw, 43px);
	font-weight: 500;
	text-align: center;
	letter-spacing: .19em;
	color: #FFF;
	text-shadow: 1px 1px 0 #454545, -1px -1px 0 #454545, -1px 1px 0 #454545, 1px -1px 0 #454545, 0px 1px 0 #454545, 0-1px 0 #454545, -1px 0 0 #454545, 1px 0 0 #454545
}
.efforts .h_type_1 {
	margin-bottom: min(2.91vw, 56px)
}
.eff_bx_wrap {
	position: relative;
	margin-bottom: min(2.6vw, 50px);
}
.efforts .eff_bx_wrap:last-of-type {
	margin-bottom: 0;
}
.eff_bx_wrap .pxs {
	margin-left: 28.67%;
	width: 71.33%;
	position: relative;
	z-index: 1	
}
.eff_bx_wrap .pxs img{
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1	
}
.eff_bx_wrap .pxs .txbx{
	width: 90%;
	margin: 0 auto;
	margin-top: -33px;
	padding: 12px;
	line-height: 1.65;
	letter-spacing: .045em;
	background: #FFF;
	position: relative;
	z-index: 10
}
.eff_bx_wrap .txs{
	position: absolute;
	top: 26%;
	left: 0;
	z-index: 10
}
.eff_bx_wrap .txs .tit {
	display: flex;
	align-items: center;
	font-weight: 500
}
.eff_bx_wrap .txs .tit .col_1 {
	letter-spacing: .025em;
	line-height: 1	
}
.eff_bx_wrap .txs .tit aside {
	width: 35px;
	height: 1px;
	background: #21ade5;
	margin: 0 9px;
}
.eff_bx_wrap .txs .tit .col_3 {
	letter-spacing: .045em;
	line-height: 1
}
.eff_bx_wrap .txs .mark {
	margin: 12px 0
}
.eff_bx_wrap .txs .arrw {
	display: block;
	width: min(2.39vw, 46px);
	height: auto
}
footer {
	padding: min(4.27vw, 82px) 0 20px;
	background: #3c3c3c
}
footer .mn {
	justify-content: space-between;
	padding: 0 2% 0;	
}
footer .mn .ft_logos {
	width: min(11.09vw, 213px);
}
footer .mn .ft_logos img{
	display: block;
	width: 100%;
	height: auto
}
footer .mn .ft_logos p{
	letter-spacing: .035em
}
footer .mn .ft_btns {
	width: min(21.4vw, 411px);
	min-width: 300px
}
footer .mn .ft_btns .btn_type_1 .inn {
	width: 100%
}
footer .mn .ft_btns span {
	position: relative;
	left: 2%
}
footer .mn .ft_btns svg {
	width: 43px;
	height: 43px;
	fill:#FFF;
}
footer .mn .ft_btns .btn_type_1 .inn:hover svg {
	fill: #262626
}
footer .mn ul li.par {
	margin-bottom: 5px;
}
footer .mn ul li.par:last-of-type {
	margin-bottom: 0;
}
footer .mn ul li.par a {
	font-weight: 500;
	letter-spacing: .035em;
}
footer .mn ul li.par a:hover {
	text-decoration: underline
}
footer .mn ul.child li {
	padding-left: 15px;
	position: relative;	
}
footer .mn ul.child li::before {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	width: 12px;
	height: 1px;
	margin: auto;
	background: #929292	
}
footer .mn ul.child li a {
	font-weight: 300;
}
footer .cp {
	letter-spacing: .035em
}
.under .fv .mv  img{
	display: block;
	width: 100%;
	height: auto
}
.pos_rtv {
	position: relative
}
.sepa_tp_lg {
	padding-bottom: min(2.39vw, 46px);
	position: relative
}
.product .sepa_tp_lg {
	margin-bottom: min(3.54vw, 68px);
}
.product .sepa_tp_lg:last-of-type {
	margin-bottom: 0;
}
.sepa_tp_lg .px {
	width: 87.94%;
}
.sepa_tp_lg.clearfix .px {
	float: right
}

.sepa_tp_lg .px img{
	display: block;
	width: 100%;
	height: auto
}
.sepa_tp_lg .tx {
	width: min(35.52vw, 682px);
	padding: min(1.82vw, 38px) min(2.58vw, 48px);
	position: absolute;
	bottom: 0;
}
.sepa_tp_lg .tx.rig {
	right: 6.2%
}
.sepa_tp_lg .tx.lef {
	left: 6.2%
}
.sepa_tp_lg .tx p {
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: .035em;
}
.sepa_tp_fif .bx {
	width: 50%
}
.mfp_inl .sepa_tp_fif {
	justify-content: space-between
}
.mfp_inl .sepa_tp_fif .bx {
	width: 48%
}
.mfp_inl .sepa_tp_fif .bx img,
.sepa_tp_fif.imgs img{
	display: block;
	width: 100%;
	height: auto
}
.sepa_tp_fif .tx {
	padding-left: 2%;
}
.sepa_tp_fif .px img{
	display: block;
	width: 100%;
	height: auto
}
.sepa_tp_fif .tx i {
	font-style: normal;
	font-size: clamp(24px, 2.6vw, 50px);
	line-height: 1.1;
}
.product .pdt_bxs {
	margin-top: min(3.43vw, 66px);
}
.bg_asm_1::after {
	content: "";
	position: absolute;
	bottom:0;
	left: 0;
	right: 0;
	width: 100%;
	height: 87.1%;
	background-color: #f1f6f8;
	z-index: -1
}
.mega_m {
	display: none;
  	background: #FFF;
  	position: absolute;
  	top: 100%;
  	left: 0;
  	width: 100%;
	z-index: 9999
}
header.general.h_rock .mega_m {
  	top: calc(100% - 20px);
}

.mega_m .inn{
	padding: min(2.08vw, 30px) 0;
}
.mega_m .inn .hd{
	width: 17%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
}
.mega_m .inn .lists{
	border-left: solid 1px #21ade5;	
	width: 83%;
	padding: 10px 0 10px min(4.86vw, 70px);
	align-items: center;
	align-content: center;	
}
.mega_m .inn .lists p {
	margin-right: 3%;
}
.mega_m .inn .lists p:last-child {
	margin-right: 0;	
}
.mega_m .inn .lists p a{
	padding-left: 10px;
	position: relative;
	display: block;
}
.mega_m .inn .lists p a::before{
	display: none
}
.mega_m .inn .lists p a::after{
	content: "";
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 7px;
	height: 8px;
	background: url("../img/ico_tra_1.svg") no-repeat center / cover
}
.mb_58 {
	margin-bottom: min(3.02vw, 58px)
}
.bx_tp_1 {
	padding: min(1.84vw, 36px);
}
.txset_1 {
	letter-spacing: .035em;
	line-height: 1.8;
	font-weight: 500
}
.sepa_tp_circ {
	justify-content: space-between
}
.ainoburi .sepa_tp_circ {
	justify-content: center
}
.sepa_tp_circ .bx {
	width: 32%;
	border-radius: 20px;
	padding: min(1.56vw, 30px) min(1.77vw, 34px);
}
.ainoburi .sepa_tp_circ .bx {
	margin-right: 2.2%
}
.ainoburi .sepa_tp_circ .bx:last-of-type {
	margin-right: 0
}
.sepa_tp_circ .bx h3 {
	width: min(16.35vw, 314px);
	height: min(16.35vw, 314px);
	margin: 0 auto;
	font-size: clamp(22px, 2.23vw, 43px);
	border-radius: min(16.35vw, 314px);
	font-weight: 500;
	color: #FFF;
	text-align: center;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;	
}
.sepa_tp_circ .bx h4 {
	padding-left: 25px;
	position: relative
}
.sepa_tp_circ .bx h4::before {
	content: "";
	position: absolute;
	top: 0.5em;
	bottom:0;
	left: 0;
	right: 0;
	width: 22px;
	height: 1px;
}
.sepa_tp_circ .bx p {
	padding: 8px 0;
	border-radius: 10px;
	background: #FFF
}
.sepa_tp_circ .bx.blue h3, .sepa_tp_circ .bx.blue h4::before  {
	background: #2b4390
}
.sepa_tp_circ .bx.blue h4 {
	color: #2b4390
}
.sepa_tp_circ .bx.blue p {
	color: #2b4390;	
	border: 1px solid #2b4390
}
.sepa_tp_circ .bx.org h3, .sepa_tp_circ .bx.org h4::before  {
	background: #ec6c6c
}
.sepa_tp_circ .bx.org h4 {
	color: #ec6c6c
}
.sepa_tp_circ .bx.org p {
	color: #ec6c6c;	
	border: 1px solid #ec6c6c
}
.sepa_tp_circ .bx.brw h3, .sepa_tp_circ .bx.brw h4::before  {
	background: #a3a373
}
.sepa_tp_circ .bx.brw h4 {
	color: #a3a373
}
.sepa_tp_circ .bx.brw p {
	color: #a3a373;	
	border: 1px solid #a3a373
}
.sepa_tp_bg {
	position: relative;
	padding-bottom: min(2.5vw, 48px)
}
.sepa_tp_bg .pxs {
	justify-content: center
}
.sepa_tp_bg .px {
	margin-right: min(2.23vw, 43px);
	width: min(19vw, 365px);
	position: relative
}
.sepa_tp_bg .px:last-child {
	margin-right: 0
}
.sepa_tp_bg.arrw_tp .px:last-child::after {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: -17%;
	width: min(4.11vw, 79px);
	height: min(3.85vw, 74px);
	margin: auto;
	background: url("../img/obj_arrw.svg") no-repeat center / cover
}
.sepa_tp_bg .px img{
	display: block;
	width: 100%;
	height: auto
}
.sepa_tp_bg.bg_asm_1::after {
    height: 85%;
}
.youtube {
position: relative;
padding-bottom: 28.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.youtube iframe,
.youtube object,
.youtube embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.tit_tp_1 {
	padding: 10px 2% 5px;
    font-size: clamp(14px, 1.4583vw, 28px);		
	font-weight: 500;
	color: #FFF;
	text-align: center;
	background: #2b4390
}
.lb_wrap {
	justify-content: center
}
.lb_wrap .bx {
	width: 32%;
	margin: 0 2% 30px 0;
}
.lb_wrap .bx .inn {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;	
	position: relative;	
	padding: min(1.92vw, 37px) 2%;	
	background: #FFF;
	border-radius: 20px;
	z-index: 1
}
.ainomadai .lb_wrap .bx .inn .max_img.centered,
.sales-tool .lb_wrap .bx .inn .max_img.centered{
	width: 70%;
}
.lb_wrap .bx:nth-child(3n),
.lb_wrap .bx:last-child{
    margin-right: 0;
}
.lb_wrap .bx .inn .obj{
	position: absolute;
	bottom:3%;
	right: 4%;
	width: 29px;
	height: 29px;
}
.under .fv .mv img {
    display: block;
    width: 100%;
    height: auto;
}
.under .fv.special_item {
	padding-bottom: 36px;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#bcbcbc+0,000000+59,000000+100 */
background: #bcbcbc; /* Old browsers */
background: -moz-linear-gradient(top,  #bcbcbc 0%, #000000 59%, #000000 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #bcbcbc 0%,#000000 59%,#000000 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #bcbcbc 0%,#000000 59%,#000000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bcbcbc', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
}
.under .fv.special_item .mv {
    display: none
}
.fv.special_item .in_wrap {
	position: relative;
    left: 0;
    right: 0;
	margin: auto;
	padding-top: 6%
}
.fv.special_item .in_wrap img {
    width: 100%;
	height: auto;
	display: block
}
.bur_top {
	padding: 33px 0;
}
.ainomadai img.crown {
	max-width: 20%;
}
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
}
.form_area {
	max-width: 940px;
	margin: 0 auto;
}
.form_area .row {
	align-items: center
}
.form_area .row.stt {
	align-items: flex-start
}
.form_area .row.stt .th{
	padding-top: 8px
}
.form_area .row .th {
	width: 37%;
	justify-content: space-between;
	align-items: center
}
.form_area .row .th p {
	font-weight: 600;
	text-align: center;
	letter-spacing: .045em;
}
.form_area .row .th span {
	padding: 5px 16px;
	display: inline-block;
	font-weight: 600;
	color: #FFF;
	text-align: center;
	letter-spacing: .095em;
	border-radius: 10px;
	background: #21ade5
}
.form_area .row .td {
	width: 63%;
	padding-left: 5%
}

.form_area input[type='submit'],
.form_area input[type='button'],
.form_area label,
.form_area button,
.form_area select {
  cursor: pointer;
}
.form_area input[type='text'],
.form_area input[type='tel'],
.form_area input[type='email'],
.form_area textarea,
.form_area select{
	width: 100%;
	padding: 13px 10px;
	background-color: #FFF;
	border: 1px solid #a3a3a3;
	border-radius: 10px;
	-webkit-transition:all .1s;
	transition:all .1s;	
}
.form_area .wpcf7-form-control-wrap{
	display: block;
	width: 100%;
}
.form_area textarea{height: 11.56vw}
.form_area input[type='text']:focus,
.form_area input[type='email']:focus,
.form_area textarea:focus{
	box-shadow:0 0 3px 1px #fde5d7;	
}
.form_area input[type='submit']{
	margin-top: 2.86vw
}
/*インライン用*/
.mfp_inl {
	position: relative;
	margin:10px auto;
	max-width: 800px;
	background: #fff;
	padding: 36px;
}
.mfp_inl .image img {
	display: block;
	width: 100%;
	height: auto
}
.mfp_inl .image,
.mfp_inl .popup-modal-dismiss {
}
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: pointer;
}
.mail_send {
	padding: 150px 0
}
.fresh-fish .sepa_tp_fif,
.attempt .sepa_tp_fif{
	justify-content: space-between	
}
.fresh-fish .sec_2 .sepa_tp_fif{
	justify-content: center
}
.fresh-fish .sepa_tp_fif .bx,
.attempt .sepa_tp_fif .bx{
	width: 48%
}
.fresh-fish .sepa_tp_fif .bx .mark {
	position: absolute;
	top:-7%;
	text-align: center;
	width: 100%;
}
.fresh-fish .sepa_tp_bg.bg_asm_1::after {
    height: 70%;
}
.fresh-fish .sec_1 .sepa_tp_bg.bg_asm_1::after {
    height: 85%;
}
.attempt .sepa_tp_fif .bx .cap {
	width: 100%;
    position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(43,67,144,.9);
	padding: 10px 2% 8px;
}
.attempt .sepa_tp_bg.bg_asm_1.long::after {
    height: 70%;
}
.attempt .sepa_tp_bg.bg_asm_1.sht::after {
    height: 67%;
}
.attempt .bg_asm_1::after {
	background: url("../img/bg_type_ozu.jpg")    
}
.attempt .sepa_tp_fif .tx {
    padding-left: 0
}
.bg_type_ozu.pad_tp {
	padding: 32px 35px 36px;
}
.company-profile .sec_1 .bg_type_ozu .obj {
	display: block;
	width: min(13.02vw, 250px);
	min-width: 190px;
	height: auto
}
.tbl_tp_1 .row {
	display: flex;
	margin-bottom: 1px
}
.tbl_tp_2 .row {
	display: flex;
}
.tbl_tp_1 .row .bx,
.tbl_tp_2 .row .bx{
	padding: 18px 20px 14px;
	line-height: 1.8
}
.tbl_tp_1 .row .th,
.tbl_tp_2 .row .th{
	width: 24%;
	background: #2b4390;
	display: flex;
	align-items: center
}
.tbl_tp_2 .row .th{
	background: none;
	border-bottom: 1px solid #2b4390
}
.tbl_tp_1 .row .td,
.tbl_tp_2 .row .td{
	width: 76%;
	background: #f1f6f8
}
.tbl_tp_2 .row .td{
	background: none;
	border-bottom: 1px solid #50beeb	
}












@media screen and (max-width:1450px){
.eff_bx_wrap {
	width: 80%;
}	
.eff_bx_wrap .txs{
	top: 16%;
}
.eff_bx_wrap .pxs .txbx{
	width: 96%;
	margin-top: -20px;
}
	
}
@media screen and (max-width:1210px){
.wrap_1200 {
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
.eff_bx_wrap {
	width: 80%;
}	
.eff_bx_wrap .txs{
	top: 16%;
}
.eff_bx_wrap .pxs .txbx{
	width: 96%;
	margin-top: -20px;
}
	
}
@media screen and (max-width:1150px){
.sepa_tp_lg .px {
    width: 100%;
}	
.sepa_tp_lg .tx {
	position: relative;
	width: 85%;
	margin: -5vw auto 0
}
.sepa_tp_lg .tx.rig {
    right: 0%;
}	
.sepa_tp_lg .tx.lef {
    left: 0;
}	
.sepa_tp_lg.clearfix .px {
	float: none
}
	
}
@media screen and (max-width:900px){
.eff_bx_wrap .txs{
	top: 10%;
}
.eff_bx_wrap .pxs .txbx{
	width: 96%;
	margin-top: -20px;
}
	
}
@media screen and (max-width:767px){
/* ==========================================================================
   Commons styles
   ========================================================================== */
.flex_wrapper, .flex-wrap_par{
    display: block;
}
.flex_sp{
	display: -webkit-flex!important;
    display: -moz-flex!important;
    display: -ms-flex!important;
    display: -o-flex!important;
    display: flex!important;
	flex-wrap: wrap!important;
}	
.pc{display: none!important}
.sp{display: block!important}	
a[href^="tel:"] {
	pointer-events: auto;
	cursor: pointer;
}	
.wrap_800, .wrap_1200, .wrap_lg_per {
    width: 100%;
	max-width: 100%;
    height: auto;
	margin-left: auto;
	margin-right: auto;
    padding-right: 0.8rem!important;
    padding-left: 0.8rem!important;
}
header.general {
    width: 100%;
	height: 80px;
	background-color: #FFF;
    padding: 0;
    position: fixed;
    transition-property: all;
    transition: 0.3s linear;
	
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;	
}
header.general h1.logo {
    width: 65%;
}	
.sp_ham {
    width: 80px;
    height: 48px;
	position: absolute;
	z-index: 9999999;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	display: flex!important;
	align-items: center;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	transition-property: all;
  	transition: 0.15s linear;				
}	
.sp_ham.set {
	margin-top: 0;
}	
.sp_ham p {
	width: 100%;
	position: relative;
	top: 8px;
  	color: #2b4390;
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	line-height: 1
}	
.sp_ham p.defo {
}	
.sp_ham p.cls {
	display: none
}	
.sp_ham.on p.cls {
	display: block
}	
.sp_ham.on p.defo {
	display: none
}	
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
 	position: relative;
	width: 50%;
	height: 40%;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #2b4390;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: calc(50% - 1px);
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
	transform: rotate(-45deg);
	top: 50%;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	transform: rotate(45deg);
	top: 50%;
}	
header.general nav {
	display: none;
	padding: 6vw 0;
	width: 100%;
	height: calc(100% - 80px);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
	position: fixed;
	top: 80px;
	left: 0;
	margin: 0;
	background: #FFF
}	
header.general nav ul li {
	display: block;
	margin: 0
}	
header.general nav ul li:nth-child(2) a {
    color: #21ade5
}	
	
header.general nav ul li a {
	display: block;
    margin-bottom:2vw;
	padding-bottom: 2vw;
    letter-spacing: .035em;
    text-align: center
}	
header.general nav ul li:last-child a {
    padding: 4vw 0;
	width: 80%;
	margin: 0 auto;
}		
.bsc_tx_18 {
    font-size: 4.8vw;
}	
.fv {
    margin-top: 80px
}		
.fv .catch {
    padding: 0 0.8rem
}		
.fv .in_wrap .mark p {
	text-align: left
}	
.fv .in_wrap .mark p span {
	font-size: 6.93vw;
	display: inline;
    padding: 5px 5px 3px;
}	
.mgn_t_20 {
    margin-top: 5.33vw;
}	
.leade_top .bx {
    width: 100%;
}	
.leade_top header {
    padding: 20vw 0;
    background: url(../img/leade_top_hd_bg.jpg) no-repeat center / cover;
}	
.leade_top header .in_logo {
    width: 40%;
}	
.leade_top header .btn_type_1 {
    margin-top: 6vw;
}	
.btn_type_1 .inn {
    padding: 5vw 8vw;
    font-size: 5vw;
}	
.leade_top header .btn_type_1 .inn {
	width: 80%;
	margin: 0 auto;
    padding: 5vw 8vw;
}
.btn_type_1 .inn p {
    justify-content: center
}	
.leade_top .tx p {
	width: calc(100% - 1.6rem);
    margin: 0 auto;
    line-height: 1.8;
}	
.sec_pad_1 {
    padding: 10.5vw 0;
}	
.h_type_1 img {
    width: 22%;
}	
.h_type_1 h2 {
    font-size: 8vw;
}	
.pdt_top .h_type_1 {
    margin-bottom: 5vw;
}	
.pdt_bxs .bx {
    width: 100%;
   margin-bottom: 5vw
}	
.pdt_bxs .bx:last-child {
   margin-bottom: 0
}	
.pdt_bxs .bx p {
    font-size: 8vw;
}	
.efforts {
	padding-right: 0.8rem;
	padding-left: 0.8rem;
}	
.efforts .h_type_1 {
   margin-bottom: 22vw
}	
.eff_bx_wrap {
	margin-bottom: 20vw;
	padding-right: 0!important;
	padding-left: 0!important;	
}	
.eff_bx_wrap .pxs {
    margin-left: 15%;
    width: 85%;
    position: relative;
    z-index: 1;
}	
.eff_bx_wrap .txs {
    top: -13vw;
}	
.bsc_tx_24 {
    font-size: 6.4vw;
}	
.eff_bx_wrap .bsc_tx_36 {
    font-size: 6.5vw;
}	
.mark p span {
    padding: 5px 5px 3px;
    display: inline;
    color: #FFF;
    background: #2b4390;
    line-height: 1.2;
}	
.eff_bx_wrap .txs .arrw {
    width:8vw;
}	
.eff_bx_wrap .pxs .txbx {
    margin: 0 auto;
    margin-top: -33px;
    padding: 3vw 4vw;
    line-height: 1.8;
    letter-spacing: .045em;
    background: #FFF;
    position: relative;
    z-index: 10;
}
.bsc_tx_16 {
    font-size: 16px;
}	
footer {
    padding: 10vw 0 20px;
    background: #3c3c3c;
}	
footer .mn .ft_logos {
    width: 100%;
}	
footer .mn .ft_logos img {
    width: 40%;
	margin: 0 auto
}	
footer .mn .ft_btns {
    width: 90%;
    min-width: inherit;
	margin: 5vw auto
}	
.mgn_t_30 {
    margin-top: 5vw;
}	
footer .mn .ft_btns .mgn_t_30 {
    margin-top: 5vw;
}	
.bsc_tx_20 {
    font-size: 5vw;
}
footer .mn nav {
    text-align: center
}	
footer .mn nav ul {
    display: inline-block
}	
footer .mn ul li {
    text-align: left
}	
footer .mn ul.child {
	margin-top: 8px;
    display: block
}	
footer .mn ul li.par {
    margin-bottom: 12px;
}	
footer .mn ul.child li {
    margin-bottom: 8px
}	
footer .cp {
    font-size: 14px
}	
.mgn_t_40 {
    margin-top: 10.66vw;
}
.under .fv {
    height: 200px;
}		
.under .fv .mv {
    height: 100%;
}	
.under .fv .mv img {
    display: block;
    width: 100%;
    height: 100%;
	object-fit: cover;
}	
.sepa_tp_lg .tx {
    width: 94%;
    margin: -5vw auto 0;
    padding: 3vw 4vw;	
}	
.mgn_t_60, .mgn_t_50 {
    margin-top: 8vw;
}	
.sepa_tp_lg .px img {
	width: calc(100% + 1.6rem);
	margin-left: -0.8rem
}	
.sepa_tp_lg .tx p {
    line-height: 1.8;
    font-size: 16px
}	
.product .sepa_tp_lg {
    margin-bottom: 12vw;
}	
.h_type_2 {
    font-size: 6.8vw;
    font-weight: 500;
    text-align: center;
    letter-spacing: .07em;
}	
.h_type_2 span::after {
    height: 4px;
}	
.sepa_tp_fif .tx {
    padding-left: 0;
}
.sepa_tp_fif .bx {
    width: 100%;
}	
.sepa_tp_fif .tx i {
    font-size: 8vw;
	display: inline-block
}	
.bsc_tx_36 {
    font-size: 6vw;
}	
.bg_asm_1::after {
    height: 94%;
}	
.mgn_t_70 {
    margin-top: 8vw	;
}	
.sec_pad_1_b {
    padding-bottom: 10.5vw;
}	
.btn_type_1 .inn {
    width: 90%;
    margin: 0 auto;
    padding: 5vw 8vw;
}	
.product .pdt_bxs {
    margin-top: 7vw;
}	
.mega_m {
    display: block;
    background: #FFF;
    position: relative;
    top: 0;
}	
.mega_m .inn {
    padding: 0;
	padding-right: 0!important;
	padding-left: 0!important;		
}	
.mega_m .inn .hd {
    display: none
}	
.mega_m .inn .lists {
    border-left: none;
    width: 100%;
    padding: 0;
    align-items: center;
    align-content: center;
}	
.mega_m .inn .lists p {
    margin-right: 0;
	font-size: 90%;
	text-align: center;
}	
.mega_m .inn .lists p a {
    padding-left: 0;
    position: relative;
    display: inline-block;
}	
.mega_m .inn .lists p a::after {
	display: none
}	
.ainomadai img.crown {
	max-width: 75%;
}
.ainoburi img.crown {
	max-width: 75%;
}
.ainomadai .lb_wrap .bx .inn img {
	max-width: 100%;
}
.bx_tp_1 {
    padding: 3vw 4vw!important;
	text-align: left
}
/************************************************************************************************************/	
.ainomadai .sec_1, .ainomadai .sec_2, .ainomadai .sec_3, .ainomadai .sec_4, .ainoburi .sec_1, .ainoburi .sec_2, .ainoburi .sec_3, .ainoburi .sec_4, .ainoburi .sec_4, .sp_pad {
	padding-right: 0.8rem;
	padding-left: 0.8rem;
}
.sepa_tp_circ {
	padding-right:0!important;
	padding-left: 0!important;
}
.sepa_tp_circ .bx {
    width: 100%;
    border-radius: 20px;
    padding: 5vw 4vw;
	margin-bottom: 6vw
}
.sepa_tp_circ .bx:last-of-type {
	margin-bottom: 0
}
.sepa_tp_circ .bx h3 {
    width: 240px;
    height: 240px;
    margin: 0 auto;
    font-size: 6vw;
    border-radius: 240px;
}
.mgn_t_10 {
    margin-top: 10px;
}
.sepa_tp_bg .px {
    width: 100%;
	margin: 0 auto 6vw
}		
.sepa_tp_bg.arrw_tp .pxs {
    display: flex;
}
.sepa_tp_bg .px {
    margin-right: 0;
    width: 100%;
    position: relative;
}
.sepa_tp_bg.arrw_tp .px {
    margin-right: min(2.23vw, 43px);
    width: 48%!important;
}
.sepa_tp_bg.arrw_tp .px:last-child::after {
    left: -17%;
    width: 12.53vw;
    height: 11.73vw;
}
.sepa_tp_bg .px:last-of-type {
    width: 100%;
	margin: 0 auto 0
}	
.sepa_tp_bg .bsc_tx_18.tx_cent {
    text-align: left;
}
.bg_asm_1::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 87.1%;
    background-color: #f1f6f8;
    z-index: -1;
}
.sepa_tp_bg.bg_asm_1::after {
	width: calc(100% + 1.6rem);
	margin-left: -0.8rem
}
.sepa_tp_bg {
    padding-bottom: 10vw;
}	
.youtube {
    padding-bottom: 56%;
}	
.tit_tp_1 {
    padding: 10px 2% 5px;
    font-size: 5vw;
}	
.lb_wrap {
	padding-right: 0!important;
	padding-left: 0!important;	
}	
.lb_wrap .bx {
    width: 48%;
	height: 100%;
    margin: 0 3% 5vw 0;
}
.lb_wrap .bx:nth-child(3n) {
    margin-right: 3%;
}	
.lb_wrap .bx:nth-child(2n) {
    margin-right: 0;
}	
.lb_wrap .bx:last-child {
    margin: 0;
}		
.lb_wrap .bx .inn {
    padding: 4vw 3vw;
}
.under .fv.special_item {
    height: auto;
}
.fv.special_item .in_wrap {
	position: relative;
    padding-top: 0;
	padding-right: 0!important;
	padding-left: 0!important;		
}	
.under .fv.special_item {
    padding-bottom: 6px;
}	
.form_area .row .th {
    width: 100%;
}	
.form_area .row .td {
    width: 100%;
    padding: 1% 0 0;
}	
.form_area textarea {
    height: 200px
}	
.form_area input[type='submit'] {
	margin-top: 6vw;
    width: 90%;
    padding: 5vw 8vw;
}	
.fresh-fish .sepa_tp_fif .bx,
.attempt .sepa_tp_fif .bx	{
    width: 100%;
	margin-bottom: 14vw
}	
.fresh-fish .sepa_tp_fif .bx:last-child,
.attempt .sepa_tp_fif .bx:last-child	{
	margin-bottom: 0
}	
.mgn_t_80 {
    margin-top: 15vw;
}	
.fresh-fish .sepa_tp_bg.bg_asm_1::after,
.attempt .sepa_tp_bg.bg_asm_1.long::after,
.attempt .sepa_tp_bg.bg_asm_1.sht::after{
    width:100%;
    margin-left:0;
}	
.fresh-fish .sec_1 .sepa_tp_bg.bg_asm_1::after {
    height: 93%;
}		
.fresh-fish .sec_3 .sepa_tp_bg.bg_asm_1::after {
    height: 84%;
}	
.fresh-fish .sepa_tp_fif .bx .mark {
    top: -5%;
}	
.attempt .sepa_tp_fif .bx {
    margin-bottom: 6vw;
}	
.attempt .sepa_tp_bg.bg_asm_1.long::after {
    height: 88%;
}	
.attempt .sepa_tp_bg.bg_asm_1.sht::after {
    height: 77.65%;
}	
.attempt .mgn_t_80 {
    margin-top: 8vw;
}	
.bg_type_ozu.pad_tp {
    padding: 20px 0.8rem 20px;
}	
.company-profile .sec_1 .bg_type_ozu .obj {
    width: 70vw;
    min-width: inherit;
}
.tbl_tp_1 .row .th,
.tbl_tp_2 .row .th{
	width: 40%;
}
.tbl_tp_1 .row .td,
.tbl_tp_2 .row .td{
	width: 60%;
}	
.tbl_tp_1 .row .bx, .tbl_tp_2 .row .bx {
    padding: 10px 0.8rem 6px;
    line-height: 1.8;
}	
.attempt .sepa_tp_fif .bx .cap {
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    background-color: rgba(43,67,144,1);
    padding: 10px 2% 8px;
}	
	
	
	
	
	
	
	
	
	
	
	
}
/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}
*{ min-height: 0vw; /* Safari clamp関数対策 */ }
/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

