@charset "UTF-8";
/* -------- webフォント コード一覧

Noto Sans JP ----------------------
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: <weight>;

Shippori Mincho B1 ----------------------
.shippori-mincho-b1-regular {
  font-family: "Shippori Mincho B1", serif;
}

*/


/*--------------------    デフォルトスタイル    --------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:1.6rem;
	vertical-align:baseline;
	background:transparent;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
    font-family: "Noto Sans JP", sans-serif;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}
ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	color: #000;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
    transition: all .3s;
}
ins {
	text-decoration:none;
}
del {
	text-decoration: line-through;
}
mark {
	background-color:#ff9;
	color:#171717;
	font-weight:bold;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}

/*------------------------------------------------------------
    レイアウト
------------------------------------------------------------*/
body {
	position: relative;
	color: #000;
    font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
    font-feature-settings: "palt";
	line-height: 1;
    letter-spacing: 0.05rem;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #fff;
	box-sizing: border-box;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 835px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 834px) {
	body {
		min-width: inherit;
	}
	body.open {
		overflow: hidden;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}


/*------------------------------------------------------------
    共通
------------------------------------------------------------*/
main#main {
    overflow: hidden;
}

.pTxt {
    font-size:1.6rem;
    font-weight:400;
    text-align:justify;
    line-height:2;
}
.flexBox {
    display:flex;
}

li a:hover, p a:hover {
    opacity:0.6;
}

.headline01 {
    text-align: center;
}
.headline01 .txt {
    position: relative;
    display: block;
    padding-bottom: 26px;
    font-size: 3.4rem;
    line-height: 1.6;
}
.headline01 .txt:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 80px;
    height: 4px;
    background: #145A40;
    transform: translateX(-50%);
}

.headline02 {
}
.headline02 .bg {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    padding: 4px 7px;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1;
    z-index: 1;
}
.headline02 .bg:last-child {
    margin-bottom: 0;
}
.headline02 .bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1;
}

.lBtn {
}
.lBtn a {
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 17px 0;
    border: 1px solid #3845AC;
    border-radius: 6px;
    background: #3845AC;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: center;
    box-sizing: border-box;
    line-height: 1;
}
.lBtn a:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg)translateY(-50%);
}
.lBtn a:hover {
    background: #fff;
    color: #3845AC;
    transition: all .3s;
}
.lBtn a:hover:before {
    border-color: #3845AC;
}


@media all and (max-width: 834px) {
    
    .headline01 .txt {
        padding-bottom: 17px;
        font-size: 2.8rem;
    }
    .headline01 .txt:before {
        width: 60px;
        height: 3px;
    }

    .headline02 .bg {
        margin-bottom: 9px;
        padding: 3px 6px;
        font-size: 3rem;
    }

    .lBtn a {
        padding: 15px 0;
        font-size: 1.4rem;
    }
    .lBtn a:before {
        width: 8px;
        height: 8px;
    }
}



/*------------------------------------------------------------
    Header
------------------------------------------------------------*/
#gHeader {
}
@media all and (max-width: 834px){
}



/*------------------------------------------------------------
    footer
------------------------------------------------------------*/
#gFooter {
    padding: 214px 0 18px;
    text-align: center;
}
#gFooter .alterna_logo {
    display: block;
    width: 179px;
    margin: 0 auto 41px;
}
#gFooter small {
    font-size: 1.4rem;
    font-weight: 400;
}


@media all and (max-width: 834px){
    #gFooter {
        padding: 130px 0 18px;
    }
    #gFooter .alterna_logo {
        width: 179px;
        margin: 0 auto 31px;
    }
    #gFooter small {
        font-size: 1.2rem;
    }
}



/*------------------------------------------------------------
    フェードイン
------------------------------------------------------------*/
.show {
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade-in {
  opacity: 0;
}
.fade-in-bottom {
  opacity: 0;
  transform: translateY(10px);
}

.fade-in-right {
  opacity: 0;
  transform: translateX(10px);
}

.fade-in-left {
  opacity: 0;
  transform: translateX(-10px);
}



.first-fade {
    opacity: 0; /* 初期状態（見えない） */
    animation: fadeIn 2s ease-in-out forwards; /* 2秒かけてフェードイン */
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}








/*----------------------- end */
