
/* ************************************************************
　共通
************************************************************ */
html {
    font-size: 100%
    height: 100%;
}
body {
    position: relative;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Meiryo UI", "Meiryo", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", "MS Gothic", sans-serif;
    color: #000;
	background: #fff;
    line-height: 2.0;

}
img {
    width: 100%;
    height: auto;
    display: inherit
}
a {
    color: #005BBB;
    text-decoration: none;
}
a:hover {
    color: #005BBB;
    text-decoration: underline;
}
a > img:hover {
    opacity: 0.7;
    transition: .3s;
}
p {
    margin: 0;
}
h1 {
    margin: 0;
    line-height: 1;
}
h2 {
    font-size: 3.75rem;
    line-height: 1.3;
    font-weight: bold;
    margin: 0;
}
h3 {
    font-size: 2rem;
    line-height: 1.6;
    margin: 0;
}
h4,h5 {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0;
}
ul,li,ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
button {
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
}
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*hover*/
img.opacity {
    opacity: 1;
}
img.opacity:hover {
    opacity: 0.4;
    filter: alpha(opacity=40);
    zoom: 1;
}

/*animation*/
.fadein {
    opacity : 0;
    transform : translate(0, 100px);
    transition : all 1000ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

/* ************************************************************
　Layout
************************************************************ */

/* l-section
----------------------------------*/
.l-section {
	position: relative;
}
.l-section__inner {
    width: 550px;
    margin: 0 auto;
    padding: 30px 0 0;
}
.l-section__inner2 {
    width: 1000px;
    margin: 0 auto;
    padding: 30px 0;
}

/* bg
----------------------------------*/
.bg-1 {
	background-image: url(../images/bg_img1_pc.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.bg-2 {
	background: #005BBB;
}
.bg-3 {
	background: #FFD500;
}
.bg-4 {
	background: #0F3690;
}

/* header 
----------------------------------*/
header{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 90px;
  z-index: 9999;
  background-color: #fff;
}
header .logo{
  position: absolute;
  top: 0;
  left: 0;
  padding: 15px 15px;
}
header .title{
	color: #000;
	font-size: 1.5rem;
	font-weight: 600;
}
header .title span{
	font-size: 0.85rem;
}
header h1{
	overflow: hidden;
	position: relative;
	padding: 0 0 26px 50px;
	top:16px;
}
.l-header {
    position: fixed;
    width: 100%;
    z-index: 999;
    /*@include mq('sp') {
        padding: 22px 15px;
    }*/
    &__flex {
        align-items: center;
        display: flex;
        justify-content: space-between;
    }
}
.p-header {
    color: white;
    transition: all, 0.5s;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 0px;
  top   : 0px;
  width : 90px;
  height: 90px;
  cursor: pointer;
  text-align: center;
  background : #0F3690;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 30px;
  background : #FFD500;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 30px;
}
.hamburger span:nth-child(2) {
  top: 40px;
}
.hamburger span:nth-child(3) {
  top: 50px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 40px;
  left: 30px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 40px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #000;
  background: #0F3690;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
}
nav.globalMenuSp ul {
	border: 90px solid #0F3690;
}
nav.globalMenuSp ul li.link {
  background: #005BBB;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #005BBB;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#005BBB;
}
nav.globalMenuSp ul li a {
  display: block;
  color: #FFD500;
  padding: 1.5em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

/* header固定のため余白をつける。メニューのCSSには関係ない */
.main{  
  margin-top: 90px;
}

/* l-footer 
----------------------------------*/
.l-footer {
	background: #0F3690;
	text-align: center;
}
.l-footer__inner {
	color: #fff;
	width: 780px;
    margin: 0 auto;
    padding: 80px 0 0;
}
.l-footer .f_logo{
	text-align: center;
    margin-bottom: 40px;
}
.l-footer .f_logo .title{
	font-size: 1.5rem;
	font-weight: 600;
}
.l-footer .f_logo p{
	text-decoration: none;
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
	display: inline-block;
}
.l-footer .f_logo .title span{
	font-size: 0.85rem;
}
.l-footer .title{
	font-size: 20px;
	font-weight: 600;
}
.l-footer .bnr {
	width: 100%;
}
.l-footer .txt{
	font-size: 16px;
	font-weight: 400;
}
.l-footer .site-info {
	font-size: 12px;
	padding: 40px 0;
	text-align: center;
}
.l-footer a {
    color: #fff;
    text-decoration: none;
}

/* ************************************************************
　Compornent
************************************************************ */

/* c-list
----------------------------------*/
.c-list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
}
.c-list__2column .c-list__item { width: 47.27%; }
.c-list__3column .c-list__item { width: 29.81%; }
.c-list__4column .c-list__item { width: 23.5%; }
.c-list__5column .c-list__item { width: 17.81%; }
.c-list__2column_2 .c-list__item_l { width: 38.81%; }
.c-list__2column_2 .c-list__item_r { width: 53.90%; }
.c-list__2column_3 .c-list__item_l { width: 24.81%; }
.c-list__2column_3 .c-list__item_r { width: 69.90%; }

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(220deg);
    transform: rotate(220deg);
  }
}


/* ************************************************************
　Project
************************************************************ */

/* p-mainvisual
----------------------------------*/
.p-mainvisual {
	padding-top: 90px;
}
.swiper-slide img {
  height: auto;
  width: 100%;
}
.slide_copy {
  z-index:10;
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
}

/* p-message
----------------------------------*/
#message{
}
.p-message {
	padding: 90px 0 120px 450px;
}
.p-message h3.ttl {
	color: #005BBB;
	font-size: 16px;
    font-weight: 600;
	text-align: left;
	margin-top: -10px;
	margin-bottom: 30px;
}
.p-message .ttl-img {
	width: 226px;
}
.p-message .copy {
	font-size: 50px;
	font-weight: 800;
    line-height: 1.3;
	margin-bottom: 20px;
}
.p-message .txt {
	font-size: 18px;
	font-weight: 600;
}
.p-message .txt p {
	display:inline-block;
	background-color: rgba(255,255,255,0.4);
	padding: 10px;
}
.p-message .txt p:not(:first-child) {
	margin-top: 30px;
}

/* p-plofile
----------------------------------*/
#plofile{
}
.p-plofile {
	padding: 90px 0 120px;
}
.p-plofile h3.ttl {
	color: #fff;
	font-size: 16px;
    font-weight: 600;
	text-align: left;
	margin-top: 8px;
	margin-bottom: 30px;
}
.p-plofile .ttl-img {
	width: 186px;
}
.p-plofile .slide-ttl {
	color: #fff;
	font-size: 35px;
	font-weight: 600;
    line-height: 1.3;
	text-align: center;
	margin-bottom: 20px;
}
.p-plofile .slide-ttl span {
	color: #FFD500;
	font-size: 45px;
	font-weight: 800;
}
.p-plofile .name {
	color: #FFD500;
	font-size: 30px;
	font-weight: 600;
    line-height: 1.0;
}
.p-plofile .name span {
	font-size: 14px;
}
.p-plofile .title {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
}
.p-plofile .txt {
	color: #fff;
	font-size: 18px;
	font-weight: 400;
}
.p-plofile .img img{
	border-radius: 40px;
}
/* slick スライダー */
* {
  box-sizing: border-box;
}
.sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}
.sliderArea.w300 {
  max-width: 300px;
}
.slick-slide {
  margin: 0 5px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
/* slick スライダー_dotsを丸くカスタマイズするCSS */
.dots-wrap {
    display: flex;
    justify-content: center;
}
.dots-wrap li {
    width: 15px;
    height: 15px;
    margin: 20px 12px 0;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: #FFD500;
}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

/* p-sns
----------------------------------*/
#sns{
}
.p-sns {
	padding: 70px 0 60px;
}
.p-sns h3.ttl {
	color: #0F3690;
	font-size: 16px;
    font-weight: 600;
	text-align: left;
	margin-top: 10px;
	margin-bottom: 30px;
}
.p-sns .ttl-img {
	width: 116px;
}
.p-sns .txt {
	color: #0F3690;
	font-size: 18px;
	font-weight: 600;
}
.p-sns .sns-btn {
	display: flex;
	margin-top: 30px;
}
.p-sns .sns-btn li {
	width: 120px;
	margin-left: 10px;
	margin-right: 10px;
}
.p-sns .sns-btn img{
    background-color: #fff;
	border-radius: 60px;
}

/* ************************************************************
　Utility
************************************************************ */
/* --------------- u-text --------------- */
.u-text-center,.l-section__inner p.u-text-center {text-align: center;}
.u-text-left,.l-section__inner p.u-text-left {text-align: left;}
.u-text-right,.l-section__inner p.u-text-right {text-align: right;}
.u-text-small,.l-section__inner p.u-text-small {font-size: 0.750rem; line-height: 1.3;}

.u-mb10 {margin-bottom: 10px;}
.u-mb20 {margin-bottom: 20px;}
.u-mb30 {margin-bottom: 30px;}
.u-mb40 {margin-bottom: 40px;}
.u-mb50 {margin-bottom: 50px;}
.u-mb60 {margin-bottom: 60px;}
.u-mb70 {margin-bottom: 70px;}
.u-mb80 {margin-bottom: 80px;}
.u-mt30 {margin-top: 30px;}
.u-mt80 {margin-top: 80px;}

/*clearfix*/
.u-clearfix:after {
  content: "";
  clear: both;
  display: block;
}
/*display none*/
.u-pc__none { display: none; }
.u-sp__none { display: block; }

/* パソコンで見たときは"for-pc"のpointがついた画像が表示される
----------------------------------*/
.for-pc { display: block !important; }
.for-sp { display: none !important; }
 
/* スマートフォンで見たときは"for-sp"のpointがついた画像が表示される
----------------------------------*/
@media (max-width: 48em){
    .for-pc { display: none !important; }
    .for-sp { display: block !important; }
}


/* ************************************************************
　iPad-pro
************************************************************ */
@media (max-width: 67.500em) {
	/* l-section
    ----------------------------------*/
    .l-footer,
    .l-section {
        width: 100%;
        min-width: auto;
    }
	.l-section__inner {
        width: 450px;
	}
	.l-section__inner2 {
        width: 85%;
        margin: 0 auto;
        padding: 30px 0;
	}
	/* bg
	----------------------------------*/
	.bg-1 {
	}
	/* l-footer 
	----------------------------------*/
	.l-footer__inner {
		width: 85%;
		padding: 50px 0 0;
	}
	.l-footer .title{
		font-size: 18px;
	}
	.l-footer .bnr {
		width: 40%;
	}
	.l-footer .txt{
		font-size: 14px;
		font-weight: 400;
	}
	/* p-message
	----------------------------------*/
	.p-message {
		padding: 60px 0 90px 260px;
	}
	.p-message h3.ttl {
		font-size: 16px;
		margin-top: -10px;
		margin-bottom: 20px;
	}
	.p-message .ttl-img {
		width: 40%;
	}
	.p-message .copy {
		font-size: 46px;
		margin-bottom: 20px;
	}
	.p-message .txt {
		font-size: 16px;
	}
	.p-message .txt p {
		display:inline-block;
		background-color: rgba(255,255,255,0.4);
	}
	.p-message .txt p:not(:first-child) {
		margin-top: 20px;
	}
	/* p-plofile
	----------------------------------*/
	.p-plofile {
		padding: 60px 0 60px;
	}
	.p-plofile h3.ttl {
		font-size: 16px;
		margin-top: 5px;
	}
	.p-plofile .ttl-img {
		width: 75%;
	}
	.p-plofile .slide-ttl {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.p-plofile .slide-ttl span {
		font-size: 30px;
	}
	.p-plofile .name {
		font-size: 30px;
	}
	.p-plofile .name span {
		font-size: 14px;
	}
	.p-plofile .title {
		font-size: 16px;
	}
	.p-plofile .txt {
		font-size: 16px;
	}
	.p-plofile .img img{
		border-radius: 30px;
	}
	/* p-sns
	----------------------------------*/
	.p-sns {
		padding: 40px 0 30px;
	}
	.p-sns h3.ttl {
		font-size: 16px;
		margin-top: 5px;
	}
	.p-sns .ttl-img {
		width: 32%;
	}
	.p-sns .txt {
		font-size: 14px;
	}
	.p-sns .sns-btn li {
		width: 120px;
		margin-left: 5px;
		margin-right: 5px;
	}
}

/* ************************************************************
　iPad/SP
************************************************************ */
@media (max-width: 48em) {
	body {
		line-height: 1.8;
	}
    h1 {
        margin: 0;
        line-height: 1;
    }
    h2 {
        font-size: 1.375rem;
        line-height: 1.6;
        font-weight: bold;
        margin: 0;
    }
    h3 {
        font-size: 1.125rem;
        line-height: 1.6;
        margin: 0;
    }
    h4,h5 {
        font-size: 1rem;
        line-height: 1.5;
        margin: 0;
	}
	/* c-list
    ----------------------------------*/
    .c-list__2column .c-list__item { width: 100%; }
    .c-list__3column .c-list__item { width: 100%; }
    .c-list__4column .c-list__item { width: 48.33%; }
	.c-list__5column .c-list__item { width: 48.33%; }
	.c-list__2column_2 .c-list__item_l { width: 100%; margin: 0 auto; }
	.c-list__2column_2 .c-list__item_r { width: 100%; }
	.c-list__2column_3 .c-list__item_l { width: 100%; margin-right: auto; }
	.c-list__2column_3 .c-list__item_r { width: 100%; }
	/* header 
	----------------------------------*/
	header{
		height: 70px;
	}
	header h1{
		padding: 0 0 10px 20px;
		top:5px;
	}
	/*　ハンバーガーボタン　*/
	.hamburger {
		width: 70px;
		height: 70px;
	}
	.hamburger span {
		width: 30px;
		height: 2px ;
		left: 20px;
	}
	.hamburger span:nth-child(1) {
		top: 25px;
	}
	.hamburger span:nth-child(2) {
		top: 35px;
	}
	.hamburger span:nth-child(3) {
		top: 45px;
	}
	/* ナビ開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top : 35px;
		left: 20px;
	}
	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 35px;
	}
	nav.globalMenuSp ul {
		border: 70px solid #0F3690;
	}
	nav.globalMenuSp ul li a {
		padding: 1.5em 0;
	}
    /* p-mainvisual
	----------------------------------*/
	.p-mainvisual {
		padding-top: 60px;
	}
	/* l-section
    ----------------------------------*/
    .l-footer,
    .l-section {
        width: 100%;
        min-width: auto;
    }
	.l-section__inner {
        width: 88%;
        margin: 0 auto;
	}
	.l-section__inner2 {
        width: 88%;
        margin: 0 auto;
        padding: 30px 0;
	}
	/* bg
	----------------------------------*/
	.bg-1 {
        background-image: url(../images/bg_img1_sp.jpg);
	}
	/* l-footer 
	----------------------------------*/
	.l-footer {
		text-align: center;
	}
	.l-footer .title{
		font-size: 16px;
	}
	.l-footer .bnr {
		width: 60%;
		margin: 20px auto 0;
	}
	.l-footer .site-info {
		font-size: 10px;
		padding: 30px 0;
	}
	/* p-message
	----------------------------------*/
	.p-message {
		padding: 40px 0 60px 110px;
	}
	.p-message h3.ttl {
		font-size: 14px;
		margin-top: -5px;
		margin-bottom: 20px;
	}
	.p-message .ttl-img {
		width: 40%;
	}
	.p-message .copy {
		font-size: 30px;
	}
	/* p-plofile
	----------------------------------*/
	.p-plofile {
		padding: 40px 0 60px;
	}
	.p-plofile h3.ttl {
		font-size: 14px;
		margin-top: 5px;
		text-align: center;
	}
	.p-plofile .ttl-img {
		width: 25%;
		margin: 0 auto;
	}
	/* p-sns
	----------------------------------*/
	.p-sns h3.ttl {
		font-size: 14px;
		margin-top: 5px;
		text-align: center;
	}
	.p-sns .ttl-img {
		width: 20%;
		margin: 0 auto;
	}
	.p-sns .txt {
		font-size: 14px;
		text-align: center;
	}
	.p-sns .sns-btn li {
		width: 80px;
		margin-left: 5px;
		margin-right: 5px;
		margin: 0 auto;
	}
	.p-sns .sns-btn img{
		border-radius: 40px;
	}
	/* tel
	----------------------------------*/
	@media (min-width: 751px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}