@charset "utf-8";

/*/////////////////////////////////////////////////////////////
product.css
//////////////////////////////////////////////////////////////*/

/**********************
  画面共通設定
**********************/

* {
    box-sizing: border-box;
}

html {
    font-size: 100%;
}

p {
    font-size: 1.0vw;
    text-align: center;
    margin: 2.5vw;
}

.header {
    margin-top: 6.0rem;
    background-color: black;
}

section {
    padding-bottom: 3.75rem;
}

.container {
    display: flex;
    justify-content: center;
    width: 100%;
}

main {
    width: 70%;
    background-color: #ffffff;
    margin-top: 6.0rem;
}

img {
    max-width: 100%;
}

/*黄色の下線部分*/
h2 {
    background: linear-gradient(transparent 80%, #fff100 20%);
    height: 2.8vw;
    display: inline-block;
}

.h2_tagu {
    height: 3.5vw;
}

/* PC版のみの表示 */
.pc-only {
    display: block;
}

/* SP版のみの表示 */
.sp-only {
    display: none;
}

/* スマホの時だけ改行させるクラス */
.br-sp {
    display: none;
}

.br-pc {
    display: block;
}

/*////////////////////////////
フォント
////////////////////////////*/

@font-face {
    font-family: "Akrobat";
    src: url("/font/Akrobat-Bold.otf") format("opentype");
    src: url("/font/akrobat-extrabold-webfont.ttf") format("truetype");
    font-weight: bold;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url("/font/ZenKakuGothicNew-Regular.ttf") format('truetype');
}

@font-face {
    font-family: 'Zen Kaku Gothic New Medium';
    src: url("/font/ZenKakuGothicNew-Medium.ttf") format('truetype');
}

@font-face {
    font-family: 'Bebas Neue';
    src: url("/font/BebasNeue-Regular.ttf") format('truetype');
}

* {
    font-family: "Zen Kaku Gothic New", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.font_Alphabet {
    font-family: "Akrobat", "Zen Kaku Gothic New", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;

}

/*見出し　かな用*/
.font_Zen_Kaku_Gothic_New_JP {
    font-family: "Zen Kaku Gothic New Medium", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 2.4vw;
    padding: 0 0.7vw 0 0.1vw;
    font-weight: bold;
    letter-spacing: 0vw;
    margin-left: -0.75vw;
}

/*見出し　Canopus部分*/
.font_Zen_Kaku_Gothic_New {
    font-family: "Zen Kaku Gothic New Medium", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 2.7vw;
    padding: 0 0.7vw 0 0.1vw;
    font-weight: bold;
    letter-spacing: 0.15vw;
}

/* 見出しフォント アルファベット */
.font_Bebas_Neue {
    font-family: "Bebas Neue", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", serif;
    font-size: 2.7vw;
    padding: 0 0.1vw;
}

/*サブタイトル*/
.title_sub {
    font-size: 1.25rem;
    margin: 1.25rem;
}

/*---------------------
  sectionタイトル
 ----------------------*/
/*タイトル*/
#id_title {
    margin-bottom: 0.75rem;
}

/*タイトルの余白調整*/
#id_title_word {
    margin: 4.5rem auto 1.125rem auto;
    text-align: center;
}


/*************************
　左サイド
**************************/
/*サイドバー（スティッキーコンテナ）*/
.sidebar_left {
    width: 15%;
    background-color: #C9E7F6;
    /* パンフの水色 */
}

/**************************
　右サイド
**************************/
/*サイドバー（スティッキーコンテナ）*/
.sidebar {
    width: 15%;
    background-color: #C9E7F6;
    /* パンフの水色 */
}

/*スティッキーアイテム*/
.sidebar-sticky-info {
    margin-bottom: 3.125rem;
    position: sticky;
    position: -webkit-sticky;
    top: 3.125rem;
}

/*スティッキーアイテム*/
.sidebar-sticky-info_footer {
    position: sticky;
    position: -webkit-sticky;
    top: 78%;
}

.side_footer {
    height: 22vh;
    background-color: #27406C;
    /* パンフの紺色 */
}

.hidden_opacity {
    opacity: 0;
}

/* ------------------------------------------------------------
header
-------------------------------------------------------------- */
#header-wrap {
    padding: 0;
    margin: 0;
}


#header {
    padding: 0;
    margin: 0 auto;
    clear: both;
    overflow: hidden;
    position: relative;
    z-index: 999;
}


#header_block {
    display: flex;
    position: fixed;
    z-index: 9998;
    /*最前面へ*/
    top: 0;
    /*位置指定*/
    left: 0;
    /*位置指定*/
}



.header_logo_class {
    text-align: center;
    z-index: 10;
    position: absolute;
    top: 2.6vw;
    left: 3vw;
}


#header_logo_block {
    width: 8vw;
}

#header_logo img {
    width: 100%;

}

.header_menu_class{
	display: flex;
	position: absolute;
	top:3.2vw;
	left:50vw;
	/*width:55%;*/
	width: 42vw;
}

.header_menu_class_flex {
    display: flex;
    width: 40vw !important;
}

.header_menu_class_flex ul {
    margin-left: 8.9vw;
}

#recruit_entry_bottan_div {
    position: fixed;
    right: -0.8vw;
    top: 2vw;
    z-index: 9997;
}

#recruit_entry_bottan_div a:hover {
    opacity: 0.6;
}

#recruit_entry_bottan_div_1 {
    width: 12vw;

}

#header_menu ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;

}

#header_menu li {
    padding-left: 1.0vw;

}

#header_menu li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.0vw;
}

#header_menu li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}

#header_menu li a:hover::after {
    transform: scale(1, 1);
}

.insta_header{
    width: 13%;
    position: relative;
    margin-top: auto;
    margin-left: auto;
}
.insta_header img {
	width:30%;
}

/*---------------------------------------------
 link部分
--------------------------------------------- */
a:link {
    color: #333;
    text-decoration: underline;
    line-height: 1.5;
}

a:visited {
    color: #333;
    text-decoration: underline;
    line-height: 1.5;
}

a:hover {
    color: #333;
    text-decoration: none;
    line-height: 1.5;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

a:active {
    color: #333;
    text-decoration: none;
    line-height: 1.5;
}

/*--------------------------------
 section0 : メイン画面
---------------------------------*/

/* Top画面の一番上の画像 */
.gamenImg {
    width: 75%;
}

/*画像とかの枠組み*/
#id_img_aria {
    text-align: center;
}

/* Top文字の上側 */
.top1 {
    font-family: Zen Kaku Gothic New Medium;
    font-size: clamp(14px, 1.75vw, 32px); /*フォントサイズ可変*/
    text-align: center;
    margin: auto;
    line-height: auto; /*行間調整*/
}

/* Top文字の下側 */
.top2 {
    color: #27406C;
    font-family: Zen Kaku Gothic New Medium;
    font-size: clamp(16px, 2vw, 38px); /*フォントサイズ可変*/
    text-align: center;
    margin: auto;
    line-height: auto;
}

/* Canopusロゴ画像 */
.image_size {
    width: 30%;
}

/*--------------------------------
 section1 : Canopusとは
---------------------------------*/

/* Canopusとはの全体 */
.section1_sumup {
    position: relative;
}

/* 導入イメージ画像 */
.section1_sumup img {
    max-width: none;
    width: 100%;
}

/*--------------------------------
 section2 : 6つの特徴
---------------------------------*/

/* 特徴のタイトルと説明文 */
#feature {
    text-align: left;
    margin: 1rem 1rem 2rem 1rem;
}

/* 特徴画像の全体設定 */
.image-container {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    list-style: none;
}

/* 特徴画像の詳細設定 */
.image-container div {
    width: calc(50% - 20px);
    background-color: transform;
    box-sizing: border-box;
    -webkit-box-shadow: 0.6875rem 0.8125rem 1.6875rem 0.375rem rgba(0, 0, 0, 0.08);
    box-shadow: 0.6875rem 0.8125rem 1.6875rem 0.375rem rgba(0, 0, 0, 0.08);
    aspect-ratio: 16 / 9;
    /* 画像のアスペクト比を設定（必要に応じて調整） */
    overflow: hidden;
    /* はみ出た部分を隠す */
}

/* 特徴画像の配置番号が奇数の設定 */
.image-container div:nth-child(odd) {
    margin-bottom: 5vw;
}

/* 特徴画像の配置番号が偶数の設定 */
.image-container div:nth-child(even) {
    margin-top: -8vw;
    margin-bottom: 12vw;
}

/* 特徴画像の共通設定 */
.featureImg1,
.featureImg2,
.featureImg3,
.featureImg4,
.featureImg5,
.featureImg6 {
    display: block;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.featureImg1 {
    background-image: url('/images/products/point1.png');
}

.featureImg2 {
    background-image: url('/images/products/point2.png');
}

.featureImg3 {
    background-image: url('/images/products/point4.png');
}

.featureImg4 {
    background-image: url('/images/products/point3.png');
}

.featureImg5 {
    background-image: url('/images/products/point5.png');
}

.featureImg6 {
    background-image: url('/images/products/point6.png');
}

/*--------------------------------
 section3 : メリット
---------------------------------*/

/* メリットの画像配置 */
#section3 img {
    width: 80%;
    margin: auto;
    display: block;
    padding-bottom: 1.5rem;
}

/*--------------------------------
 section4 : 料金プラン
---------------------------------*/

/* 料金プラン画像 */
#id_price {
    margin: 2.75rem;
}

/* 追加で料金プラン画像 */
#id_price_img {
    margin: 0.75rem;
}

/* 初月料金 */
.kome {
    font-size: 1.0vw;
}

/* 料金表の全体設定 */
.price-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

/* 料金表のデータ(td) */
.price-table td {
    font-size: 20px;
}

/* 料金表の詳細設定 */
.price-table th,
.price-table td {
    padding: 1rem;
    text-align: center;
    border-bottom: 1px solid #c0c0c0;
    border-left: 1px solid #c0c0c0;
}

/* 料金表のth部分 */
.price-table thead {
    background-color: #f8f9fa;
    font-weight: bold;
    color: #333;
}

/* 行数をまとめてるところ(￥100,000/月の部分) */
.rowspan-cell {
    vertical-align: middle;
}

/* 料金プランの区切り線 */
.border {
    border: none;
    border-top: 0.125rem solid #333;
    margin: 1rem 0;
}

/* 料金プランの一例プラン */
.saport {
    text-align: right;
}

/* 料金プランの写真と一例プランの並び */
.flex {
    display: flex;
    justify-content: space-between;
    /*間隔調整*/
}

/*--------------------------------
 section5 : お問い合わせ
---------------------------------*/

/*お問い合わせ*/
#id_contact_btn {
    margin: 2.5rem auto;
    size: 3.125rem;
    text-align: center;
}

/* お問い合わせの説明 */
#id_contact_moji {
    margin: 1.5625rem auto 1.25rem auto;
}

/*=================================
CONTACT US ボタン
===================================*/
/*---------------------------------
黒→白
----------------------------------*/

.btn {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none !important;
    display: inline-block;
    border: 1px solid #555;
    /* ボーダーの色と太さ */
    padding: 0.7vw 4vw;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    background: #000;
    /*背景色*/
}

.btn span {
    font-size: 16px;
}

/*ボタン内spanの形状*/
.btn span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #fff;
    /*背景色*/
    font-family: "Bebas Neue", "Akrobat", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", serif;
    letter-spacing: 0.2vw;
    font-size: 1.2vw;
}

.btn:hover span {
    color: #000;
    text-decoration: none;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #fff;
    /*背景色*/
    width: 100%;
    height: 100%;

    /*アニメーション*/
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

/*---------------------------------
白→黒
----------------------------------*/

.btn2 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none !important;
    display: inline-block;
    border: 1px solid #99a09d;
    /* ボーダーの色と太さ */
    padding: 0.8vw 6vw;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    background: #fff;
    /*背景色*/
    width: 5vw;
}

/*ボタン内spanの形状*/
.btn2 span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #000;
    font-family: "Akrobat", "Zen Kaku Gothic New", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
}

.btn2:hover span {
    color: #fff;
    text-decoration: none;
}

/*== 背景が流れる（左から右） */
.bgleft2:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    width: 100%;
    height: 100%;

    /*アニメーション*/
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft2:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

/* お問い合わせ文 */
.contents_words {
    text-align: center;
}

.inline-block {
    display: inline-block;
}


/* ------------------------------------------------------------
footer
-------------------------------------------------------------- */

#footer-wrap p {
    margin: 0;
    font-size: 1vw;
}

#footer-wrap {
    margin: 0vw 0vw 0vw 0vw;
    padding: 0;
    clear: both;
    width: 100%;
    overflow: hidden;
    font-size: 0.36rem;
}


/* footer copy
----------------------------- */
.copy-wrap {
    /*margin: 0;*/
    padding: 0;
    clear: both;
    width: 100%;
    overflow: hidden;
    background: #27406C;
    height: 22vh;
}

.copy-inr01 {
    overflow: hidden;
    margin: 0 auto;
}

.logo-access {
    padding: 0;
    width: 50%;
    float: left;
    display: block;
    margin-top: 0.9vw;
}

.logo-access p {
    color: #fff;
    text-align: left;
}

.logo-access img {
    max-width: 25%;
}

.logo-access a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    zoom: 1;
}

.logo-access-p {
    margin-left: 0.5vw;
}

.copy-inr01 a {
    font-size: 1vw;
    color: #fff;
    text-decoration: none;
}

.copy-inr01 a:link {
    color: #fff;
    text-decoration: none;
}

.copy-inr01 a:visited {
    color: #fff;
    text-decoration: none;
}

.copy-inr01 a:hover {
    color: #fff;
    text-decoration: underline;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

#footer li a:active {
    color: #333333;
    text-decoration: underline;
}


.logo-access dl {
    padding: 0;
    overflow: hidden;
}

.logo-access dt {
    padding: 0;
    margin: 0;
    display: block;
    width: 14vw;
    float: left;
}

.logo-access dt a,
.logo-access dt a:hover {
    text-decoration: none;
    color: #b58844;
}

.logo-access dt span {
    display: block;
    text-align: center;
    font-size: 0.9vw;
}

.logo-access dd {
    padding: 0;
    font-size: 1vw;
    color: #fff;
    margin-left: 13.5vw;
}

.copy-inr02 {
    color: #fff;
    padding: 1vw 0 0 0;
    display: flex;
    margin: 0 auto;
}

.copy-inr02 a:hover {
    opacity: 0.8;
}

.copy-inr02_1 {
    width: 10%;
}

.copy-inr02_1 img {
    width: 30%;
}

.copy-inr02_2 {
    width: 90%;
    padding-top: 0.5vw;
}

.copy-link {
    width: 46%;
    text-align: right;
    color: #fff;
    float: right;
    margin-top: 3.6vw
}

.copy-link ul {
    display: block;
}

.copy-link ul li {
    display: inline;
    margin-left: 0.3vw;
}

.copy-link_a {
    font-weight: bold;
}

/*=================================
フェードアップ
===================================*/

.fadeUp {
    animation: fadeUpAnime 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    0% {
        opacity: 0;
        transform: translateY(6.25rem);
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/********************************************
アニメーションスタートの遅延時間を決めるCSS
*********************************************/

.delay-time02 {
    animation-delay: 0.2s;
}

.delay-time04 {
    animation-delay: 0.4s;
}
